1、linux C/C+开发环境搭建指南Ubuntu 中没用自带 CC开发环境,需要用户自己配置。在UBUNTU 中文论坛中的一些帖子集合。一、安装基本开发环境本人想学习一下 Linux 下的 C,C程序开发,这几天一直在研究 Linux 下的 C 语言编译环境的建立,因为新装好的 Ubuntu 里面缺少函数库文件,所以无法编译最简单的 C 语言文件,故要先配置一番,这几天也有一点心得,写下来和大家一起学习。原来我以为安装配置非常麻烦,后来发现在新立得的帮助下很快就能配置好(前提你的源的网速比较快)。我先安装了一个新的 Ubuntu6.10,然后按照 Wiki 里的帮助先配置好了源、输入法、中文环
2、境等。然后开始配置编译环境。1、配置 GCC刚装好的系统中已经有 GCC 了,但是这个 GCC 什么文件都不能编译,因为没有一些必须的头文件,所以要安装 build-essential 这个软件包,安装了这个包会自动安装上 g+,libc6-dev,linux-libc-dev,libstdc+6-4.1-dev 等一些必须的软件和头文件的库。可以在新立得里面搜索 build-essential 或输入下面命令:sudo apt-get install build-essential 安装完成后写一个 C 语言程序 testc.c 测试一下。1. #include 2. int main()
3、3. 4. printf(“Hello Ubuntu!n“); 5. return 0; 6. 1. $ gcc testc.c -o testc 2. $ ./testc 显示 Hello Ubuntu!这样,C 语言编译器就安装成功了;2 安装 GTK 环境安装 GTK 环境只要安装一个 gnome-core-devel 就可以了,里面集成了很多其他的包。除此之外还要转一些其他的东西,如 libglib2.0-doc、libgtk2.0-doc 帮助文档,devhelp 帮助文档查看,glade-gnome、glade-common、glade-doc 图形界面设计等。1. sudo ap
4、t-get install gnome-core-devel 2. sudo apt-get install libglib2.0-doc libgtk2.0-doc 3. sudo apt-get install devhelp 4. sudo apt-get install glade-gnome glade-common glade-doc 安装完成后我们也同样做个测试程序1. #include 2. void hello(GtkWidget *widget,gpointer data) 3. 4. g_print(“Hello Ubuntu!n“); 5. 6. gint delete
5、_event(GtkWidget *widget,GdkEvent *event,gpointer data) 7. 8. g_print (“delete event occurredn“); 9. return(TRUE); 10. 11. void destroy(GtkWidget *widget,gpointer data) 12. 13. gtk_main_quit(); 14. 15. int main( int argc, char *argv ) 16. 17. GtkWidget *window; 18. GtkWidget *button; 19. gtk_init (
6、20. window=gtk_window_new (GTK_WINDOW_TOPLEVEL); 21. gtk_signal_connect (GTK_OBJECT(window),“delete_event“,GTK_SIGNAL_FUNC(delete_event),NULL); 22. gtk_signal_connect (GTK_OBJECT (window), “destroy“,GTK_SIGNAL_FUNC (destroy), NULL); 23. gtk_container_set_border_width (GTK_CONTAINER (window), 10); 24
7、. button = gtk_button_new_with_label (“Hello Ubuntu!“); 25. gtk_signal_connect (GTK_OBJECT (button), “clicked“,GTK_SIGNAL_FUNC (hello), NULL); 26. gtk_signal_connect_object (GTK_OBJECT (button), “clicked“,GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window); 27. gtk_container_add (GTK_CONTAINER
8、(window), button); 28. gtk_widget_show (button); 29. gtk_widget_show (window); /*显示一个窗口*/ 30. gtk_main(); /*进入主循环*/ 31. return(0); 32. 用下面命令编译运行1. $ gcc gtkhello.c -o gtktest pkg-config -cflags -libs gtk+-2.0 2. $ ./gtktest 会显示一个带有一个按钮的窗口,点击按钮以后窗口关闭,命令行显示 Hello Ubuntu!GTK 测试c 语言测试二、安装 IDE 开发工具著名的开发工
9、具有 Kdeveloper, Anjuta, Eclipse+CDT。 其中 kdeveloper 是 KDE 平台得,在 Gnome 平台下使用需要安装一大堆 KDE 的东西,不喜欢,放弃了,虽然都传说 Kdeveloper 的功能是如何强大。而 Eclipse+CDT 用起来似乎不错,但是主要有两点不舒服,一是不能代码自动完成,二是编译速度比较慢。Eclipse + CDT 的安装配置。Java 运行环境以及 Eclipse3.3.0 安装就不具体介绍。 详细情况见:http:/ 1。下载 CDT(http:/www.eclipse.org/cdt/downloads.php)(只能下载
10、4.0.x,如果是Eclipse3.3.0 其他的选择合适的版本) 2。安装 CDT 插件(links 方法来安装插件的方法,便于对插件的管理) A.在 eclipse 所在的目录( ECLIPSE_HOME)新建文件夹 cdt 在文件夹 cdt 中新建文件夹 eclipse(不要诧异就是 eclipse) B. 把下载的 cdt-master-4.0.0.zip 中的内容解压到/ECLIPSE_HOME/cdt/eclipse 中 C.在 ECLIPSE_HOME 新建文件夹 links 在新建的 links 中添加文件 cdt.link 文件的内容为 path=/ECLIPSE_HOME/
11、cdt比如我的就是 path=/opt/eclipse/cdt D.这样就完成了 CDT 插件的安装工作了,启动 eclipse 就看到多了 c,c+开发环境三、Anjuta 安装配置A. ubuntu feisty (for gusty, see below) repository (only i386 and only binaries)1. Add deb http:/anjuta.org/apt ./ in your /etc/apt/sources.list2. sudo apt-get update3. sudo apt-get install anjuta4. sudo apt-
12、get install anjuta-dev libgbf-dev libgdl-dev (if you want to write anjuta plugins or report bugs) Note! If you have installed older anjuta-2.2.0 previously using this repository, make sure to remove the file /etc/apt/preferences or remove the following version pin from the file before following the
13、above steps. The version pin is no longer needed:B. Ubuntu gusty repository1. Add deb http:/ gutsy universe in your /etc/apt/sources.list2. sudo apt-get update3. sudo apt-get install anjuta4. sudo apt-get install anjuta-dev libgbf-dev libgdl-dev (if you want to write anjuta plugins or report bugs)注意
14、: 建议使用新立得安装。题外话 QT VS GTK GTKQt 是一个多平台的 C+图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt 是完全面向对象的很容易扩展,并且允许真正地组件编程。自从 1996 年早些时候,Qt 进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt 也是流行的 Linux 桌面环境 KDE 的基础,KDE 是所有主要的 Linux发行版的一个标准组件。Qt 支持下述平台:* MS/Windows - 95、98 、NT 4.0、ME、和 2000 * Unix/X11 - Linux、Sun Solaris、H
15、P-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX 和其它很多 X11 平台 * Macintosh - Mac OS X * Embedded - 有帧缓冲(framebuffer)支持的 Linux 平台。 Qt 是 Trolltech 公司的一个产品。 Qt 被按不同的版本发行:Qt 企业版和 Qt 专业版 提供给商业软件开发。它们提供传统商业软件发行版并且提供免费升级和技术支持服务。如果要获得最新报价,请浏览 Trolltech 公司网站的价格和可行性页面,或者与 联系。企业版比专业版多一些扩展模块。Qt 自由版是 Qt 仅仅为了开发自由和开放源码软件 提
16、供的 Unix/X11 版本。在 Q 公共许可证和 GNU 通用公共许可证 下,它是免费的。最新的版本可以在这里下载。Qt/嵌入式自由版是 Qt 为了开发自由软件提供的嵌入式版本。在 GNU 通用公共许可证下,它是免费的。用 C 的很自然就选择了 gtk+, C+的选择了 QT。一般选择。QT 出来的比 C+标准早,所以和标准的 C+还是区别的。听说 QT 的 C+并不纯。gtk+ 也有其它语言绑定,C+的gtkmm,python 的 pygtk.跨平台大家都能做到,但 wxWidget 在跨平台上好像选择的人更多 些。 我用了不短的时间就是在选择到底在 Linux 下用什么工具来编程,现在选择了 Qt。我认为如果要编一些小程序可以使用任何一种工具,但是我认为不管真样选择,我们不能倒退到以前那种存脆的 C 下全部自己动手的那种局面。那样确实锻炼人培养人,但是人的时间是有限的,当我们要面对比较大的程序的时候 QT 这种是不错的选择。只是现在用的人太少。QT 在 windows 下能和 VC 关联起来使用,这对于我们这些用惯 VC 的人实在是一个好消息!我现在还仅仅用的是开源版的,以后有机会用它的企业版我想能用的更好。