为了在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-doc2、测试代码打开Eclipse,新建——C Project——输入Project name,并选择Executable中的Hello World ANSI C Project,默认会选择Linux GCC的Toolchains,点击Finish——这时会打开一个Hello World的示例代码——将其中哦功能的代码换成下面的测试代码。(其实完全可以不用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;
- }
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:gtkin,注意以分号分割不同的变量。(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 -lintl2、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:gtkincludegtk-2.0等(具体取决于你将gtk解压到哪,以及解压后的文件名),可以消除gtk.h unresolved的警告,同时在程序中使用gtk的函数,会出现智能提示。经过以上步骤,一个GTK程序就能运行出来了。至于为什么不能像在Ubuntu中直接使用`pkg-config –libs gtk+-2.0`等作为Miscellaneous的参数,我也没找到合理的解释,如果谁能解答,请告诉大家,谢谢。WIN7下硬盘安装Ubuntu 11.10 实现双系统Ubuntu 11.10安装Matlab2011b及相关问题解决相关资讯 Ubuntu 11.10
- Ubuntu 11.10使用软RAID时需要注意 (04/10/2012 06:40:19)
- 64位 Ubuntu 11.10 安装及配置Java (03/17/2012 19:18:46)
- Dell R210 安装Ubuntu 11.10 (03/17/2012 19:15:02)
| - Windows 7 + Ubuntu 11.10双系统安 (03/30/2012 12:15:05)
- 在Ubuntu 11.10下安装显卡后进不了 (03/17/2012 19:17:44)
- Ubuntu 11.10下成功安装Java (03/09/2012 08:12:58)
|
本文评论 查看全部评论 (0)