2009年3月14日星期六

GTK的Windows移植

howroc
04-12-09, 12:23
因为一个朋友的关系,要在windows下编译gtk的代码,我查了一些资料,现在使用的方法如下:

(1) 需要文件:
GTK-Runtime-Environment-2.2.4-3.exe:http://prdownloads.sourceforge.net /gtk-win/GTK-Runtime-Environment-2.2.4-3.exe?download。安装到C:\RunTime_GTK。
GTK-Development-Environment- 2.2.4-3.exe:http://prdownloads.sourceforge.net/gtk-win/GTK-Development- Environment-2.2.4-3.exe?download。安装到C:\Dev-C++.
devcpp4991setup.exe,就是bloodshed的一个IDE环境: 搜索。安装到C:\Dev-C++。

(2)设置环境变量:SET PATH=%PATH%;C:\RunTime_GTK\bin;C:\RunTime_GTK\lib。在98下我直接该了autoexec.bat。

(3)运行Dev-C++,在"工具->编译选项->目录->库",加入:C:\Dev-C++\lib

(4)"工程->工程属性->参数" 或 "工具->编译选项"中的链接器框里面填入:-lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv

(5)工具->编译选项->目录->C包含文件:
C:\Dev-C++\include\gtk-2.0
C:\Dev-C++\lib\gtk-2.0\include
C:\Dev-C++\include\atk-1.0
C:\Dev-C++\include\pango-1.0
C:\Dev-C++\include\glib-2.0
C:\Dev-C++\lib\glib-2.0\include

(5) 工具->编译选项:
-mms-bitfields

然后可以写一个最简单的GTK程序,显示一个窗口。这没有问题。我又在Linux下用glade生成了一个最简单的工程,在Dev-C++中把生成的.c 和 .h文件加入到一个Dev-C++的C工程中,也可以通过编译(好象add_pixmap_directory()这一行有问题,注释)。但是,我前几天 写的pixbuf和键盘相应的工程却加不进来,总是报告没有定义。

现在的问题是,我当然希望在Linux下的工程能够拿到Windows下直接使用。在Windows下运行Glade无法Build,报告的错误中,是使用的错误的路径,特别是使用斜杠而不是翻斜杠。 不知道在Windows下能不能使用glade.

我还希望在Windows下能够使用Makefile。mingw我也试了一下,但我现在还没有automake,autoconf工具。我想在Dev-C++中先使用Linux下建工程后生成的Makefile,不知道行不行。

没有评论: