windows eclipse gtkmm 开发环境配置(二)

windows eclipse gtkmm 开发环境配置(二)

三、在Eclipse中直接设置开发gtkmm的方法

利用pkg-config工具确实方便快捷,但也有个缺陷:Eclipse的智能感知功能发挥不了作用了。如:在本文(一)中,你会发现,编辑器提示不能确定头文件(Unresolved inclusion: <gtkmm.h>)。这对于像我这样的业余编程爱好者可是太不方便了。

在网上看到一篇博客http://blogold.chinaunix.net/u2/80326/showart_1332416.html,照这个思路设置,可让Eclipse的智能感知功能不失效。但觉得比较麻烦,在Eclipse3.6.2中可以用“复制/粘贴”的方法,而不用去改写项目的底层文件。

第一,利用pkg-config工具获得三项内容:包含文件路径、链接库文件、链接库搜索路径。

在命令提示符下运行如下命令:pkg-config gtkmm-2.4 --cflags –libs>gtkmm24.txt。文本文件中就是我们需要的内容。

 

打开gtkmm24.txt进行修改。

Gtkmm24.Txt内容如下:

-mms-bitfields -IC:/gtkmm/include/gtkmm-2.4 -IC:/gtkmm/lib/gtkmm-2.4/include -IC:/gtkmm/include/atkmm-1.6 -IC:/gtkmm/include/giomm-2.4 -IC:/gtkmm/lib/giomm-2.4/include -IC:/gtkmm/include/pangomm-1.4 -IC:/gtkmm/lib/pangomm-1.4/include -IC:/gtkmm/include/gtk-2.0 -IC:/gtkmm/include/gdkmm-2.4 -IC:/gtkmm/lib/gdkmm-2.4/include -IC:/gtkmm/include/atk-1.0 -IC:/gtkmm/include/glibmm-2.4 -IC:/gtkmm/lib/glibmm-2.4/include -IC:/gtkmm/include/glib-2.0 -IC:/gtkmm/lib/glib-2.0/include -IC:/gtkmm/include/sigc++-2.0 -IC:/gtkmm/lib/sigc++-2.0/include -IC:/gtkmm/include/cairomm-1.0 -IC:/gtkmm/lib/cairomm-1.0/include -IC:/gtkmm/include/pango-1.0 -IC:/gtkmm/include/cairo -IC:/gtkmm/include -IC:/gtkmm/include/freetype2 -IC:/gtkmm/include/libpng14 -IC:/gtkmm/lib/gtk-2.0/include -IC:/gtkmm/include/gdk-pixbuf-2.0  -LC:/gtkmm/lib -Lc:/devel/dist/win32/libpng-1.4.3-1/lib -lgtkmm-2.4 -latkmm-1.6 -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lgtk-win32-2.0 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpng14 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl 

 

删除-mms-bitfields,把由-I引导的每一项作为一行,就得到了包含文件路径。

1.包含文件路径:

C:/gtkmm/include/gtkmm-2.4

C:/gtkmm/lib/gtkmm-2.4/include

C:/gtkmm/include/atkmm-1.6

C:/gtkmm/include/giomm-2.4

C:/gtkmm/lib/giomm-2.4/include

C:/gtkmm/include/pangomm-1.4

C:/gtkmm/lib/pangomm-1.4/include

C:/gtkmm/include/gtk-2.0

C:/gtkmm/include/gdkmm-2.4

C:/gtkmm/lib/gdkmm-2.4/include

C:/gtkmm/include/atk-1.0

C:/gtkmm/include/glibmm-2.4

C:/gtkmm/lib/glibmm-2.4/include

C:/gtkmm/include/glib-2.0

C:/gtkmm/lib/glib-2.0/include

C:/gtkmm/include/sigc++-2.0

C:/gtkmm/lib/sigc++-2.0/include

C:/gtkmm/include/cairomm-1.0

C:/gtkmm/lib/cairomm-1.0/include

C:/gtkmm/include/pango-1.0

C:/gtkmm/include/cairo

C:/gtkmm/include

C:/gtkmm/include/freetype2

C:/gtkmm/include/libpng14

C:/gtkmm/lib/gtk-2.0/include

C:/gtkmm/include/gdk-pixbuf-2.0

 

-LC:/gtkmm/lib -Lc:/devel/dist/win32/libpng-1.4.3-1/lib -lgtkmm-2.4 -latkmm-1.6 -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lgtk-win32-2.0 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgdk-win32-2.0 -latk-1.0 -lgio-2.0 -lpangowin32-1.0 -lgdi32 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpng14 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lglib-2.0 -lintl 

-LC:/gtkmm/lib -Lc:/devel/dist/win32/libpng-1.4.3-1/lib是两个库文件搜索目录,由-l引导的每一项是链接的库文件,每一项一行。如下:

1.包含文件路径:

C:/gtkmm/include/gtkmm-2.4

C:/gtkmm/lib/gtkmm-2.4/include

C:/gtkmm/include/atkmm-1.6

C:/gtkmm/include/giomm-2.4

C:/gtkmm/lib/giomm-2.4/include

C:/gtkmm/include/pangomm-1.4

C:/gtkmm/lib/pangomm-1.4/include

C:/gtkmm/include/gtk-2.0

C:/gtkmm/include/gdkmm-2.4

C:/gtkmm/lib/gdkmm-2.4/include

C:/gtkmm/include/atk-1.0

C:/gtkmm/include/glibmm-2.4

C:/gtkmm/lib/glibmm-2.4/include

C:/gtkmm/include/glib-2.0

C:/gtkmm/lib/glib-2.0/include

C:/gtkmm/include/sigc++-2.0

C:/gtkmm/lib/sigc++-2.0/include

C:/gtkmm/include/cairomm-1.0

C:/gtkmm/lib/cairomm-1.0/include

C:/gtkmm/include/pango-1.0

C:/gtkmm/include/cairo

C:/gtkmm/include

C:/gtkmm/include/freetype2

C:/gtkmm/include/libpng14

C:/gtkmm/lib/gtk-2.0/include

C:/gtkmm/include/gdk-pixbuf-2.0

2.链接库文件:

gtkmm-2.4

atkmm-1.6

gdkmm-2.4

giomm-2.4

pangomm-1.4

gtk-win32-2.0

glibmm-2.4

cairomm-1.0

sigc-2.0

gdk-win32-2.0

atk-1.0

gio-2.0

pangowin32-1.0

gdi32

pangocairo-1.0

gdk_pixbuf-2.0

png14

pango-1.0

cairo

gobject-2.0

gmodule-2.0

gthread-2.0

glib-2.0

intl 

3.链接库搜索路径

C:/gtkmm/lib

c:/devel/dist/win32/libpng-1.4.3-1/lib

C:/gtkmm就是GTKMM_BASEPATH,建议用 ${GTKMM_BASEPATH}替换,我已将C:/gtkmm中的“/”改成了“/”,这样Gnu Make Builder(不能识别“/)CDT Internal Builder都能识别。

第二步,将包含文件路径的所有项选中并复制,打开“项目/属性”在“C/C++ Build/Settings”的“Tool Settings”的“GCC C++ Compiler”的“Includes”右侧点击鼠标左键,按Ctrl+V粘贴。注意,在这里点击右键没有菜单弹出,一定要先点击鼠标左键,再Ctrl+V才可以粘贴进去。

 

粘贴后如下图:

 

照此办理。将链接库文件、链接库搜索路径粘贴进相应拦中即可。如下图

 

这样即可正常编译,又可享受Eclipse的智能感知功能。


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值