我安装了Fedora(最新)以及mingw32和gtk软件包。
我写了简单的Hello world:
#include <gtk/gtk.h>
int main(int argc, char* argv[]){
GtkWidget *window;
gtk_init(&argc, &argv);
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
gtk_main();
return 0;
}
我可以在Fedora下用以下代码轻松编译它:
gcc -o hello hello.c 'pkg-config --libs --cflags gtkmm-3.0'
(错误的撇号)
我还试图为:printf("Hello world");
的Windows编译简单的i686-pg-mingw32-gcc simple.c -o simple.exe
程序(没有gtk),它在Windows下完美运行
但是我不能用GTKmm对windows进行交叉编译(即使是另一个版本的GTK的例子也会很棒)。我读了这个http://camltastic.blogspot.com/2008/10/mingw-compile-software-for-windows.html,但它使用了我没有用于我的程序的configure和make。
那里还有很多:http://ricardo.ecn.wfu.edu/~cottrell/cross-gtk/但它谈到自己安装mingw到自定义文件夹等等......但我已经使用Fedora yum安装了mingw。
所有罗德里戈的提示后更新:
YES!我们得到了它!它正在发挥作用。它首先启动控制台,但没关系。我还没有测试过所有的GTK库,但我认为它们也可以正常工作。
经过一年的努力,我终于拥有了它,而且我最接近开发GUI应用程序。非常感谢您的耐心和指导。我想现在我也在某种程度上理解这一切是如何工作的(我的意思是,为不同的操作系统编译库,pkg-config,传递变量等)。
答案 0 :(得分:1)
您已从Fedora存储库安装了mingw,但仍需要为Windows编译的GTK库。您可以自己编译它们(不是微不足道的,但也不是非常困难),或者您可以将它们下载到其他地方,就像您引用的页面所示。
更新:关于您在以下评论中的尝试:
我修复了我复制到/ usr / lib / pkgconfig的pc文件,这里是我的日志:pastebin.com/KZr8tMQ0我真的不明白。当我运行pkg-config时,它缺少gobject。当我以root身份运行它时,它缺少gdk。当我使用gtkmm-3.0运行它时会生成参数...当我用gtkmm-2.4运行它时崩溃即使gtkmm-2.4实际上是我在PKG_CONFIG_PATH中设置的文件夹中唯一的gtkmm pc文件。
pkg-config gtkmm-2.4
sudo pkg-config
忽略Windows安装的原因。lib/pkgconfig
目录。