讓 Flycheck 包含 gtk 的東西

讓 Flycheck 包含 gtk 的東西

我在 Emacs 上使用 Flycheck,並且開始學習 GTK。然而,Flycheck 顯然不知道這些東西,並給了我關於這些的錯誤#include

我已經嘗試手動包含包含路徑選項中的每個內容,但這非常瘋狂 - 那裡有大量內容!當從命令列編譯時,pkg-config正是出於這個原因而使用的。有沒有辦法讓 Flycheck 做類似的事?由於它用作gcc語法檢查器,我認為它應該是可能的,我只是不知道如何。

答案1

不,如果沒有自訂 Emacs Lisp 程式碼,這實際上是不可能的。

Flycheck 中沒有針對此問題的內建解決方案,而且可能永遠不會有解決方案,因為 C/C++ 建置工具和系統的多樣性,它們都有不同的方法來計算和儲存編譯器標誌。

因此,您需要編寫自訂 Emacs Lisp 程式碼來填充flycheck-clang-include-pathflycheck-gcc-include-path(取決於您使用的檢查器)從pkg-config.我不了解 Gtk,所以不幸的是我無法幫助您了解該程式碼應該是什麼樣子。

通常,您會編寫一個呼叫pkg-config並設定變數的函數,並將該函數新增至c-mode-hook.看看飛檢哈斯克爾或者Flycheck-DMD-dub擴展,根據底層建造系統分別為 Haskell 和 D 設定 Flycheck 設定。

這是您獲得的最佳解決方案,因為缺乏標準化的建置工具使得不付出很大的努力就不可能為 C/C++ 提供更複雜的支援。

免責聲明:我是 Flycheck 的維護者。

相關內容