Flycheck に gtk の機能を含める

Flycheck に gtk の機能を含める

私は Emacs で Flycheck を使用しており、GTK を学び始めています。しかし、Flycheck は明らかにこのことを認識しておらず、これらの#includes でエラーが発生します。

インクルード パス オプションに各項目を手動で含めようとしましたが、これはかなり非常識です。膨大な量があります。コマンド ラインからコンパイルする場合、pkg-configまさにこの理由で が使用されます。Flycheck で同様のことを実行する方法はありますか?gcc構文チェッカーとして使用しているため、可能だと思いますが、方法がわかりません。

答え1

いいえ、実際にはカスタム Emacs Lisp コードなしでは不可能です。

Flycheck にはこの問題に対する組み込みソリューションはありません。また、C/C++ ビルド ツールとシステムの多様性により、コンパイラ フラグの判別と保存方法がそれぞれ異なるため、今後もおそらく組み込みソリューションは存在しないでしょう。

したがって、 から取得した内容を埋め込むflycheck-clang-include-pathflycheck-gcc-include-path(使用しているチェッカーによって異なります)、カスタム Emacs Lisp コードを記述する必要がありますpkg-config。私は Gtk を知らないため、残念ながら、そのコードが正確にどのようになるかについてはお手伝いできません。

pkg-config一般的には、変数を呼び出して設定する関数を書いて、その関数を に追加しますc-mode-hookフライチェックハスケルまたはフライチェック-DMD-ダブ拡張機能は、基盤となるビルド システムに基づいて、それぞれ Haskell と D の Flycheck 設定を設定します。

これは最善の解決策です。標準化されたビルド ツールがないため、多大な労力をかけずに C/C++ のより高度なサポートを提供することは不可能だからです。

免責事項:私はFlycheckのメンテナーです。

関連情報