1)一般设置
gtkmm教程使用这种方式:
(g++ -c)编译时加入选项:`pkg-config gtkmm-2.4 --cflags`
(g++ -Wl)链接时加入选项:`pkg-config gtkmm-2.4 --libs`
不错写好程序编译是没有问题的。可是是没有代码提示功能的。只需关闭工程重新打开就有代码提示。
代码提示功能是有了,可总觉的怪怪的。下面就来点不怪的。
2)下面看看这些选项都做了些什么?
$ `pkg-config gtkmm-2.4 --cflags` > cflags.txt
$`pkg-config gtkmm-2.4 --libs` >libs.txt
打开文件cflags.txt
-pthread -I/usr/include/gtkmm-2.4 -I/usr/lib/gtkmm-2.4/include -I/usr/include/atkmm-1.6 -I/usr/include/giomm-2.4 -I/usr/lib/giomm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/lib/pangomm-1.4/include -I/usr/include/gtk-2.0 -I/usr/include/gtk-unix-print-2.0 -I/usr/include/gdkmm-2.4 -I/usr/lib/gdkmm-2.4/include -I/usr/include/atk-1.0 -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/cairomm-1.0 -I/usr/lib/cairomm-1.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/lib/gtk-2.0/include -I/usr/include/gdk-pixbuf-2.0
文件libs.txt
-pthread -lgtkmm-2.4 -latkmm-1.6 -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lgtk-x11-2.0 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpng14 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
cflags.txt文件中的选项参数是在编译时用到。
libs.txt文件中选项参数是在链接时用到。
使用gedit打开cflags.txt文件,并把" -I"替换为"\r\n"(也就是替换为换行符)删除首行全行与尾行的最后的几个空格。
就产生了一个头文件列表了。把这个列表的每项添加到“search directores”/"Compiler"项中。每次只能添加一项,是不是麻烦?
有个好方法,在gedit列表替换为这种形式:
使用gedit打开工程文件cbp,在两对节都插入这些内容不要删除有原有内容)
在main.cpp中写入下面的内容并保存。
#include
usingnamespaceGtk;
intmain(intargc,char* argv[])
{
return0;
}
选择“文件”/保存工程为模板。模板保存在$HOME/.codeblocks/UserTemplates下。
如果你有新的模板复制到此即可。
3)如何使用模板?
新工程时选择模板时,选择用户模板即可。(User Template)
在codeblocks中这样设置开发gtkmm就可以有代码提示功能了。
我做好的模板你可以直接下载使用了。
文件名为:GtkmmTemplatesForCodeBlocks.tar.gz
下载地址:
GtkmmTemplatesForCodeBlocks.tar.gz 下载到Linux公社的1号FTP服务器里,下载地址:
在 2011年LinuxIDC.com\6月\使用CodeBlocks自己做模板做Gtkmm开发 有代码提示