1

私は数日間、簡単なテストケース (IUP ドキュメントの例からの matrix.wlua) が正しく動作するように試みてきました。

IUPLua は LuaRocks には含まれていないため、LuaDist をインストールしてパスを変更する必要がありました。その後、iup をコンパイルしようとすると ( -DGTK2_INCLUDE_DIRS=/usr/include/gdk-pixbuf-2.0;/usr/include/glib-2.0;/usr/lib/glib-2.0/include;/usr/include/gtk-2.0;/usr/lib/gtk-2.0/include;/usr/include/gtk-2.0;/usr/include/cairo;/usr/include/pango-1.0;/usr/include/atk-1.0gdk-pixbuf ヘッダーを適切にインクルードするためのフラグを含めます)、コンパイル中のほぼすべての GTK 関連ファイルに対して次のエラー メッセージが表示されました。

[ 35%] Building C object CMakeFiles/iup.dir/src/gtk/iupgtk_common.c.o
In file included from /usr/include/gtk-2.0/gdk/gdkcairo.h:28:0,
                 from /usr/include/gtk-2.0/gdk/gdk.h:33,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from /home/archie/luadist/tmp/iup-3.5/LuaDist-iup-203b27f/src/gtk/iupgtk_common.c:12:
/usr/include/gtk-2.0/gdk/gdkpixbuf.h:43:43: error: unknown type name ‘GdkPixbuf’

私のシステム インクルード ファイルをgrin調べてみると、GdkPixBuf のドキュメントに記載されている宣言が、typedef struct _GdkPixbuf GdkPixbuf実際にはパッケージ マネージャーが gdk-pixbuf によってインストールされたと通知するファイルには存在しないことがわかりました。

私の次の試みは、IUP ディストリビューションをダウンロードし、CMakeLists.txtファイル内のオプションを手動で無効にして GTK2 を使用することでした。その後、OpenMotif にリンクしてコンパイルすると、提供された C プログラム「iuptest」が完全に機能しました。CDLua と IMLua も完全にコンパイルされ、/usr/local/lib/lua にインストールされます。ただし、IUPLua のコンパイルは次のエラー メッセージで停止しました。

[ 98%] Building C object CMakeFiles/iupluaweb.dir/srclua5/il_webbrowser.c.o
make[2]: *** No rule to make target `/usr/lib/libiupweb.so', needed by `iupluaweb.so'.  Stop.

私はこれを修正する方法を知るほど CMake や C に精通していません。これらのエラー メッセージのいずれかに関連する検索エンジンの結果がなければ、そのようなライブラリにそのような欠陥があるとは本当に信じられません (存在しません)。これらの苦難は、私の側の何らかのミスの結果である可能性があると思います。何が間違いであるか、および/またはそれを修正する方法についてのアイデアはありますか?

4

0 に答える 0