IUPLua的各种问题

我已经尝试了几天来使一个简单的测试案例(来自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.0”以便正确包含gdk-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 dist并手动禁用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,无法知道如何修复它,我几乎无法相信这样的库会有这样的缺陷,没有相关的搜索引擎结果提到这些错误消息(没有)。我认为这些磨难可能是我犯错的结果。对于错误可能是什么以及如何修复它有什么想法吗?

原文链接 https://stackoverflow.com/questions/8961660

点赞