私はこの質問が本当に古いことを知っていますが...
クロスコンパイルするときは、「--sysroot」引数で sysroot を指定する必要があります。
--sysroot=dir
: ヘッダーとライブラリの論理ルート ディレクトリとして dir を使用します。たとえば、コンパイラが通常 /usr/include でヘッダーを検索し、/usr/lib でライブラリを検索する場合、代わりに dir/usr/include と dir/usr/lib を検索します。[[参照]][1]
これを行うと、インクルード パスなどはすべて sysroot (この場合は「/usr/i686-w64-mingw32/」) に対して相対的に取得されます。ライブラリを "lib" に置き、ヘッダー ファイルを "include" に置くので、GTK でのコンパイルに必要な追加の引数を除いて、すべてが機能するはずです。
「pkg-config --cflags gtk+-2.0」の出力を見ると、次のようになります。
-pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/ cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/ usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng12 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/ include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2
sysroot を指定しても報告されたエラーが引き続き発生する場合は、ヘッダー ファイルを間違ったフォルダーに配置している可能性があります。gtk.h のネイティブ パスは「/usr/include/gtk-2.0/gtk/gtk.h」であるため、mingw GTK パッケージからバージョンをクロスコンパイルするには、「/usr/i686-w64-mingw32/」にコピーする必要があります。 include/gtk-2.0/gtk/gtk.h".
最後に、pkg-config は「-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include」を提供することに注意してください。sysroot を正しく指定し、ヘッダー ファイルを pkg-config で記述された場所に置いた場合でも、このインクルード パスで問題が発生する可能性があります。問題は、pkg-config がネイティブ コンパイルの答えを提供していて、クロスコンパイルしたいことです。