コンパイラがヘッダファイルを見つけることができませんでした。 PATHにディレクトリを追加しますか?

コンパイラがヘッダファイルを見つけることができませんでした。 PATHにディレクトリを追加しますか?

のgtkを使用しようとしていますが、/usr/include/gtk-3.0/gtk/ ..すべてのヘッダファイル存在するツールキットには#include <gtk/gtk.h>

/usr/local/gtk-3.0すべてのインクルードプリプロセッサを追加またはPATH追加する以外に、他にどのようなオプションがありますかgtk-3.0

答え1

この場合、インクルードパスに適切なディレクトリを追加することは正確に行う必要があります。ただし、経由pkg-configでファイルに直接アクセスする必要がある点は異なります。

次の内容を次のように追加してくださいMakefile

CFLAGS += `pkg-config --cflags gtk+-3.0`
LIBS += `pkg-config --libs gtk+-3.0`

これにより、現在のシステムの正しいコンパイラおよびリンカオプションが自動的に追加されます。

答え2

環境PATH変数は、他の種類のファイルではなく、実行可能ファイルの検索パスです。インクルードファイルの場合、オプションが-I/usr/include/gtk-3.0/gtkコンパイラに渡されるように準備する必要があります。通常、makefileで定義された変数を設定するか(通常CFLAGS='-I/usr/include/gtk-3.0/gtk')引数を渡して./configure(通常)./configure --includedir=/usr/include/gtk-3.0/gtkこれを実行します。

Freedesktop方式に準拠したGtkやその他のソフトウェアの場合、インクルードファイルと他のコンパイラとリンカオプションの場所を表示する正しい方法は次のとおりです。パッケージ構成Celadaの回答で説明されているように

関連情報