Ich habe ein Setup mit Vim, wo ich meinen C / C ++ - Code mit :make
kompilieren kann und Kompilierungsfehler automatisch in einem Quickfix-Fenster mit den folgenden Zeilen angezeigt werden: (aus dem Vim Wiki) in meinem ./vimrc
:
Nun funktioniert diese Einrichtung gut, wenn in einer CPP-Datei ein Fehler auftritt , da die Ausgabe von make korrekt analysiert wird:
%Vor% d. vim wechselt korrekt zu LatticeModel.cpp
.
Wenn der Fehler jedoch in der Headerdatei enthalten ist, wird die make-Ausgabe falsch interpretiert, und vim wechselt / erstellt einen neuen Puffer (für das folgende Beispiel make
output) mit dem Namen " In file included from IsingMain.cpp
", offensichtlich falsch angenommen, dass dies die Datei mit dem Fehler ist (tatsächlich ist der Fehler in LatticeModel.h):
Das Ausführen von make über die Befehlszeile funktioniert einwandfrei, es ist nur ein Problem, wenn Quickfix seine Ausgabe falsch liest. Jede Hilfe sehr geschätzt, lassen Sie mich wissen, wenn irgendein Teil davon verwirrend ist. Danke
BEARBEITEN : Es scheint etwas mit einem falschen Fehler zu tun zu haben (wie in Dieser Thread .)
BEARBEITEN 2 : Temporärer Fix gefunden, indem die Ausgabezeile von make ignoriert wird, die mit "In file include from" beginnt, indem diese Technik .
Ich habe zwar noch keine passende Lösung gefunden, aber die Umgehungslösung wurde hier vorgeschlagen: Ссылка scheint vorläufig zu funktionieren.
%Vor%BEARBEITEN : Siehe auch Vim versucht, nach: make
zu einer nicht vorhandenen Datei zu springen