1

h 皆さんこんにちは。私の Linux マシンでは、Glade 3 を使用して XML ファイルを生成しました。XML ファイルをプログラムに埋め込むことに成功し、次のコマンドを使用して GTK+ プログラムをコンパイルしました。

gcc -Wall -g `pkg-config --cflags --libs gtk+-2.0` prog.c

プログラムは、私が望んでいたとおりに機能しました。ただし、Windows で Cygwin を使用すると、これをコンパイルできません。MinGW と Windows GTK+ 2.0 パッケージをインストールしました。どちらも Z ドライブのルートにあります。pkg-config は正常に動作し、いくつかのコンパイラとリンカー オプションを GCC に送信します。「ファイルが存在しません」というエラーは表示されず、$PATH が設定されています。「未定義の参照」エラーが約 12 個発生します。GTK 関数を呼び出すたびにエラーが発生します。これは pkg-config が出力するものです:

-mms-bitfields -IZ:/GTK+/include/gtk-2.0 -IZ:/GTK+/lib/gtk-2.0/include -IZ:/GTK+/include/atk-1.0 -IZ:/GTK+/include/cairo -IZ:/GTK+/include/pango-1.0 -IZ:/GTK+/include/glib-2.0 -IZ:/GTK+/lib/glib-2.0/include -IZ:/GTK+/include/libpng12  -LZ:/GTK+/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl  

また、Glade 3 の Windows バージョンを使用して同じ XML ファイルを生成できたことも言及しておく必要があります。私は何を間違っていますか?

4

3 に答える 3

1

これは、glade XML ファイルとは関係ありません。mingw でビルドする場合、gcc 引数の順序は重要です。

于 2012-04-22T17:09:30.007 に答える
1

ネイティブ ウィンドウ (X ウィンドウではなく) 用に gtk+ アプリケーションをコンパイルする方法の投稿を追加しました。これは、Windows 用にネイティブにコンパイルするために必要な正確な手順を説明しています。

于 2013-09-14T09:11:00.410 に答える
0

pkg-config出力は、.pc ファイルが見つかったことを通知するだけです。必要なすべてのヘッダーとライブラリが実際に存在することを確認する必要があります。発生するエラーのサンプルも追加してください。

于 2012-04-17T09:12:06.790 に答える