资源描述:
《win32下基于eclipse的gtk编译环境》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、win32下基于eclipse的GTK+编译环境GTK+是遵循LGPL协议的一个优秀的GUI类库.基于C语言开发,是GNOME的基础,也是Linux下GUI程序的首选.同时,GTK+也是一个跨平台的GUI库,win32下写"原生"GUI程序(商业的和非开源的也都不需付费),GTK+都是一个不错的选择!本文基于我的实践,介绍了windows下用eclipse/CDT来搭建GTK+编译环境的步骤,并成功编译运行了GTK+的"helloworld"程序!希望对那些想在win32下开发GTK+程序的朋友能有所帮助.转载请注明出处:http://zhw618.
2、blogchina.com1.为什么俺选eclipse? eclipse是一个开源的优秀的IDE,主要是用于开发调试Java程序.同时它也是一个平台,通过CDT插件可以提供一个完整的C/C++开发环境.eclipse的主页是 http://www.eclipse.org,上面可以下载到最新的eclipse和CDT,而且还有中文语言包,相当的不错. 开始也想过用其它的IDE,比如Dev-cpp(主页http://dev-cpp.sourceforge.net),可是它的编辑器只支持GBK中文编码,不支持UTF8.而我们知道GTK+是支持国
3、际化的,所有的c源文件最好是UFT8的.如果.c文件是GBK编码,那么里面的中文,编译出来都是乱码.要想消除乱码,必须把文件中的所有中文string串通过下面这个函数来转换: g_locale_to_utf8("世界你好",-1,0,0,0)这样很是麻烦.而eclipse支持多种编码,选用utf8来编辑源文件,就没有中文乱码问题啦,很是方便,呵呵 eclipse的跨平台性也是我选择它的一个重要原因!我们知道,linux下vim,emacs对于我们这些习惯了win下的编辑器的来说,还是有点麻烦的.eclipse可以运行在linux等平台上,这
4、样,我们就可以在linux下使用同一个IDE--eclipse来开发啦,这样降低了win程序员编写linux程序的门槛,呵呵. 嘻嘻,总之,eclipse备受业界好评,应该也不会让我们失望的!再说,熟悉了eclipse,以后学习java的话IDE也不用重新去适应啦,^_^2.win32下GNU编译环境搭建 eclipse和dev-cpp这些都是调用MinGW或者Cygin来编译调试C/C++程序的.建议使用MinGW,它全称是MinimalGNUforWin,是GNU开发工具在win32平台上的一个移植,不同于Cygin,MinGW是原生的w
5、in32移植,不需要另外的POSIX模拟中间层的支持.另外MinGW项目也发布了一个最小的posix实现接口--msys,移植了很多linux下很方便的小工具,比如ls,vi,rvxt等等.MinGW项目的主页是 http://www.mingw.org我们可以在上面下载最新的 MinGW-3.2.0-rc-3.exe和MSYS-1.0.10.exe这两个文件,安装的时候先安装Mingw,然后安装msys.安装完msys之后会跳出一个问题,选y(yes),然后它问你是不是已经安装了MinGW,选y,然后按它的例子输入MinGW的安装路径(比如c:
6、/MinGW),这样msys就把这个路径mount到了安装路径的msys目录下,可以直接使用Mingw的那些工具了. 好了.装好这两个以后我们就要eclipse编译c文件需要的gcc,gdb,make工具了.为了eclipse能找到它们,要把c:MinGWbin目录加到windows的环境变量PATH中.需要说明的是,c:MinGWbin目录下的make不是GNU的make,而是mingw32-make.exe,这个是make在windows下的版本,由于没有posix完整接口,这个make缺少一些标准make的功能,同时也有一些linux
7、下make所不具备的功能.因为我们后面要用到pkg-config来自动配置GTK+库的路径,这是mingw32-make.exe所不支持的.msys中提供的GNUmake是可以的,为了使用它,我们还得把msys安装目录下的bin目录加到环境变量PATH中.3.安装GTK+库的win32port GTK在windows上的移植,目前常见的主要有两个项目:gimp-win和glade-win32,分别在sourceforge.net上有各自的主页.前一个是官方的,不过GTK+-dev包不是完全打包好的,使用起来不是很方便,推荐用后一个. gimp
8、-win的地址: http://www.gimp.org/~tml/gimp/win32/down