Wie hinzufügen von include-Pfad zu flycheck c/c++-clang?
Habe ich versucht, hinzuzufügen include-Pfad zu flycheck
c/c++-clang, aber es hat nicht funktioniert.
Legte ich foo.h
im ~/local/include
und fügte hinzu, die folgenden Zeilen zu init.el
:
(add-hook 'c++-mode-hook
(lambda () (setq flycheck-clang-standard-library "libc++")))
(add-hook 'c++-mode-hook
(lambda () (setq flycheck-clang-language-standard "c++1y")))
(add-hook 'c++-mode-hook
(lambda () (setq flycheck-clang-include-path
(list "$HOME/local/include/"))))
Und in eine Datei namens test.cpp
ich schrieb
#include <foo.h>
flycheck
sagte, dass
'foo.h " Datei nicht gefunden
Was mache ich falsch? Ich bin mit emacs24
, flycheck.el
aus package.el
und clang3.4
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
expand-file-name
und~
zu finden, um Wege in Ihrem home-Verzeichnis:Flycheck nicht die system-shell ausführen, Clang, noch ist es auf andere Weise versuchen, erweitern Sie die shell-Parameter in Kommandozeilen. Daher
$HOME
übergeben buchstäblich zu Klappern, das hat offensichtlich nicht funktioniert.flycheck-clang-include-path
behandelt realitve Pfade, die relativ zu der Datei, die überprüft wird, was bedeutet, dass mehr erschweren Organisationen der code schwer zu unterstützen.eval
zum ausführen von beliebigen code aus der Variablen-Verzeichnis, und Sie können absolute Pfade verwenden, um Probleme zu vermeiden mit relativen Pfaden. Darüber hinaus Flycheck hat keine Besondere Unterstützung für "pro-Projekt" - Einstellungen, und haben keine Zeit, bald, da gibt es kein Konzept von "Projekt" in den Emacs.Möchte ich nicht bekommen, Kredit von dieser Antwort, aber es könnte nützlich sein, um jemanden.
Mit der akzeptierten Antworten und Kommentare zu set flycheck variable mit Directory-Variablen:
Haben Sie ein Projekt mit dem C++ - source-code in
~/myproject
.Fügen Sie die Datei
~/myproject/.dir-locals.el
mit folgendem Inhalt:Dass für mich gearbeitet.