无法使用MinGW在Windows上编译GTK +程序

时间:2012-04-16 20:23:16

标签: c windows gtk mingw glade

大家好。在我的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设置。我得到了十几个“未定义的引用”错误。每次调用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  

我还应该提到我能够使用Windows版本的Glade 3来生成相同的XML文件。我做错了什么?

3 个答案:

答案 0 :(得分:1)

这与glade XML文件无关:gcc arguments order在使用mingw构建时非常重要。

答案 1 :(得分:1)

我添加了一篇帖子how to compile gtk+ application for native windows (and not for X windows)?,其中描述了为Windows本机编译所需的确切步骤。

答案 2 :(得分:0)

pkg-config输出仅告诉您已找到.pc文件。您需要确保所需的所有头文件和库都在那里。请添加一些错误示例。