使用CodeBlocks自己做模板做Gtkmm开发 有代码提示


1)一般设置

  1. gtkmm教程使用这种方式:   
  2. (g++ -c)编译时加入选项:`pkg-config gtkmm-2.4 --cflags`   
  3. (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

  1. -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

  1. -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列表替换为这种形式:

  1. <Add directory="/usr/include/gtkmm-2.4" />  
  2. <Add directory="/usr/lib/gtkmm-2.4/include" />  
  3. <Add directory="/usr/include/atkmm-1.6" />  
  4. <Add directory="/usr/include/giomm-2.4" />  
  5. <Add directory="/usr/lib/giomm-2.4/include" />  
  6. <Add directory="/usr/include/pangomm-1.4" />  
  7. <Add directory="/usr/lib/pangomm-1.4/include" />  
  8. <Add directory="/usr/include/gtk-2.0" />  
  9. <Add directory="/usr/include/gtk-unix-print-2.0" />  
  10. <Add directory="/usr/include/gdkmm-2.4" />  
  11. <Add directory="/usr/lib/gdkmm-2.4/include" />  
  12. <Add directory="/usr/include/atk-1.0" />  
  13. <Add directory="/usr/include/glibmm-2.4" />  
  14. <Add directory="/usr/lib/glibmm-2.4/include" />  
  15. <Add directory="/usr/include/glib-2.0" />  
  16. <Add directory="/usr/lib/glib-2.0/include" />  
  17. <Add directory="/usr/include/sigc++-2.0" />  
  18. <Add directory="/usr/lib/sigc++-2.0/include" />  
  19. <Add directory="/usr/include/cairomm-1.0" />  
  20. <Add directory="/usr/lib/cairomm-1.0/include" />  
  21. <Add directory="/usr/include/pango-1.0" />  
  22. <Add directory="/usr/include/cairo" />  
  23. <Add directory="/usr/include/pixman-1" />  
  24. <Add directory="/usr/include/freetype2" />  
  25. <Add directory="/usr/include/libpng14" />  
  26. <Add directory="/usr/lib/gtk-2.0/include" />  
  27. <Add directory="/usr/include/gdk-pixbuf-2.0" />  

使用gedit打开工程文件cbp,在两对<Compiler>节都插入这些内容不要删除有原有内容)

在main.cpp中写入下面的内容并保存。

  1. #include <gtkmm.h>   
  2. using namespace Gtk;   
  3. int main(int argc,char* argv[])   
  4. {   
  5.     return 0;   
  6. }  

选择“文件”/保存工程为模板。模板保存在$HOME/.codeblocks/UserTemplates下。

如果你有新的模板复制到此即可。

3)如何使用模板?

新工程时选择模板时,选择用户模板即可。(User Template)

在codeblocks中这样设置开发gtkmm就可以有代码提示功能了。

我做好的模板你可以直接下载使用了。

文件名为:GtkmmTemplatesForCodeBlocks.tar.gz

下载地址:

GtkmmTemplatesForCodeBlocks.tar.gz 下载到帮客之家的1号FTP服务器里,下载地址:

FTP地址:ftp://www.bkjia.com

用户名:www.bkjia.com

密码:www.muu.cc

在 2011年LinuxIDC.com\6月\使用CodeBlocks自己做模板做Gtkmm开发 有代码提示

下载方法见 http://www.bkjia.net/thread-1187-1-1.html

相关内容