LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2049|回复: 5

GTK的Windows移植

[复制链接]
发表于 2004-12-9 12:23:50 | 显示全部楼层 |阅读模式
因为一个朋友的关系,要在windows下编译gtk的代码,我查了一些资料,现在使用的方法如下:

(1) 需要文件:  
GTK-Runtime-Environment-2.2.4-3.exe:http://prdownloads.sourceforge.n ... C:\RunTime_GTK。
GTK-Development-Environment-2.2.4-3.exe:http://prdownloads.sourceforge.n ... 装到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,不知道行不行。
发表于 2004-12-9 19:02:31 | 显示全部楼层
不如试试看CygWin
 楼主| 发表于 2004-12-9 23:32:59 | 显示全部楼层
cygwin在98下好象运行不了,我自己平时有不用Windows,只有两个教学软件要用,就弄了个98。而且,我朋友是想在windows下做gtk,我也想看看怎么移植,用Dev-C++比较接近VC++的环境。
发表于 2005-1-21 22:15:58 | 显示全部楼层
我在http://www.sourceforge.net/ 下载了一个gtk-2.6开发包,里面有glade,在windows可用,可以生成源代码,
在gnu-win32里有automake,autoconfig在windows下可安装,但不知怎样使用,好像用到perl,我也装了perl,但automake,autoconfig还是不知怎用。
gladel生成的工程里有个autogen.sh,在linux下可用,但在windows下不知道怎样用。
回复 支持 反对

使用道具 举报

发表于 2005-1-22 18:16:15 | 显示全部楼层
这个问题完全解决了!!!

1.安装gtk2.6(gtk-devel,glade)开发包到dev-c++目录下
2.安装dev-cpp到dev-c++目录下(dev-cpp我事先按(windows下的gtk移植)一文配置过,不过好象不需要配置,glade生成的dev-cpp工程文件中已包含配置。)
3.用glade设计一个界面,生成代码
4.在glade生成的代码目录里,找到dev-cpp目录,双击其中的dev-cpp工程文件test1.dev,打开dev-cpp,编译、连接、运行即可。
回复 支持 反对

使用道具 举报

发表于 2005-1-24 17:20:20 | 显示全部楼层
不行啊,每次运行都会弹出对话框:
无法定位程序输入点libiconv_set_relocation_prefix于动态链接库iconv.dll上。
这是怎么回事啊?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表