【发布时间】:2011-12-02 16:14:08
【问题描述】:
我安装了 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'
(这里的撇号错误)
我还尝试为带有 i686-pg-mingw32-gcc simple.c -o simple.exe 的 windows 编译简单的 printf("Hello world"); 程序(不带 gtk),它在 Windows 下完美运行
但我不能使用 GTKmm 为 windows 进行交叉编译(即使是另一个版本的 GTK 的例子也会很棒)。我读了这个http://camltastic.blogspot.com/2008/10/mingw-compile-software-for-windows.html,但它使用了我的程序没有的配置和制作。
那里也有很多:http://ricardo.ecn.wfu.edu/~cottrell/cross-gtk/ 但它谈到自己将 mingw 安装到自定义文件夹等等......但我已经使用 Fedora yum 安装了 mingw。
更新
根据所有 rodrigo 的提示更新:
是的!我们得到了它!它正在工作。它首先启动控制台,但没关系。我还没有测试所有的 GTK 库,但我认为它们应该也可以工作。
经过一年的尝试,我终于拥有了它,并且我最接近开发 GUI 应用程序了。所以非常感谢您的耐心和指导。我想现在我也以某种方式理解了这一切是如何工作的(我的意思是,为不同的操作系统编译库、pkg-config、传递变量等)
【问题讨论】:
-
额外提示:您可以删除将
-mwindows(默认为-mconsole)传递给链接器命令的控制台。但我个人觉得在调试版本中查看 GLIB 警告和其他输出很有用。
标签: gtk mingw cross-compiling fedora gtkmm