感谢支持
我们一直在努力

Windows和Ubuntu 11.10在Eclipse中配置C和GTK

为了在Eclipse下编译使用GTK的C程序,折腾了好久。查了许多资料,发现网上的绝大部分方法都不行。不知道我是太“走运”了还是怎么回事。折腾了几个小时后,终于分别在Windows下和Ubuntu下都搭建成功了gtk环境。这里就把我的经历写下来。也方便其他人参考。


Ubuntu下在Eclipse中运行C语言的GTK程序


1、下载相关的包


sudo apt-get install gnome-core-devel build-essential libgtk2.0-dev libgtk2.0-doc


2、测试代码


打开Eclipse,新建——C Project——输入Project name,并选择Executable中的Hello World ANSI C Project,默认会选择Linux GCC的Toolchains,点击Finish——这时会打开一个Hello World的示例代码——将其中哦功能的代码换成下面的测试代码。(其实完全可以不用Hello World模版,这里只是简化过程。)



  1. #include <gtk/gtk.h>    
  2. int main( int argc, char *argv[] )  
  3. {   
  4.         GtkWidget *window;  
  5.         gtk_init (&argc, &argv);  
  6.         window = gtk_window_new (GTK_WINDOW_TOPLEVEL);  
  7.         gtk_widget_show (window);  
  8.         gtk_main ();  
  9.         return 0;   
  10. }  

3、配置Eclipse


(1)选中gtk项目,在菜单栏点击Project——Properties——C/C++ Build——Settings——GCC C Compiler——Miscellaneous,在Other flags中加入`pkg-config –cflags gtk+-2.0`


(2)在同一个对话框中,选择GCC C Linker——Miscellaneous,在Linker flags中加入`pkg-config –libs gtk+-2.0`


(3)选中GCC C Linker,在右边的Command line pattern里面的${INPUTS} 调到${COMMAND}后面,如: ${COMMAND}  ${INPUTS} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT}


(4)在GCC C Compiler——Includes中,加入/usr/include/gtk-2.0 和 /usr/include/glib-2.0,可以消除gtk.h unresolved的警告,同时在程序中使用gtk的函数,会出现智能提示。


经过以上步骤,一个GTK程序就能运行出来了。


Windows下在Eclipse中运行C语言的GTK程序


1、安装并配置gtk


(1)下载windows下用的gtk包,地址为http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.8-20111122_win32.zip,点击直接下载,不放心的话可以将地址拷到浏览器地址栏下载。


(2)将下载后的gtk+-bundle_2.24.8-20111122_win32.zip解压,并将解压后的文件夹更名为gtk,比如放到C盘中:C:\gtk。


(3)添加环境变量:我的电脑/计算机——右击,属性——在弹出的界面中选右边的高级选项——选择环境变量——在对话框的下面选择PATH项——双击,添加C:\gtk\bin,注意以分号分割不同的变量。


(4)点开始,输入cmd,打开命令行,输入pkg-config –cflags gtk+-2.0+,回车,会出现一堆目录名,如下:


-mms-bitfields -Ic:/gtk/include/gtk-2.0 -Ic:/gtk/lib/gtk-2.0/include -Ic:/gtk/include/atk-1.0 -Ic:/gtk/include/cairo -Ic:/gtk/include/gdk-pixbuf-2.0 -Ic:/gtk/include/pango-1.0 -Ic:/gtk/include/glib-2.0 -Ic:/gtk/lib/glib-2.0/include -Ic:/gtk/include -Ic:/gtk/include/freetype2 -Ic:/gtk/include/libpng14


(5)继续在cmd窗口中输入pkg-config –libs gtk+-2.0,回车,出现另一堆目录:


-Lc:/gtk/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl


2、C语言的gtk模版程序


打开Eclipse,新建C项目的Hello World,并换成gtk的模版,如上一节的第二小节一样。


3、在Eclipse中,选中gtk的项目


(1)选中gtk项目,在菜单栏点击Project——Properties——C/C++ Build——Settings——GCC C Compiler——Miscellaneous,在Other flags中加入在命令行中输入`pkg-config –cflags gtk+-2.0`得到的内容。可以用鼠标在cmd窗口复制得到;


(2)在同一个对话框中,选择MinGW C Linker——Miscellaneous,在Linker flags中加入在命令行中输入`pkg-config –libs gtk+-2.0`得到的内容;


(3)选中MinGW C Linker,在右边的Command line pattern里面的${INPUTS} 调到${COMMAND}后面,如:


${COMMAND}  ${INPUTS} ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT}


(4)在GCC C Compiler——Includes中,加入C:\gtk\include\gtk-2.0等(具体取决于你将gtk解压到哪,以及解压后的文件名),可以消除gtk.h unresolved的警告,同时在程序中使用gtk的函数,会出现智能提示。


经过以上步骤,一个GTK程序就能运行出来了。至于为什么不能像在Ubuntu中直接使用`pkg-config –libs gtk+-2.0`等作为Miscellaneous的参数,我也没找到合理的解释,如果谁能解答,请告诉大家,谢谢。

赞(0) 打赏
转载请注明出处:服务器评测 » Windows和Ubuntu 11.10在Eclipse中配置C和GTK
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏