(原創) 如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)
A. 为什么要在Linux使用Eclipse开发C/C++程序?
Linux是一个以C/C++开发为主的平台,无论是Kernel或是Application,主要都使用C/C++开发。传统在Linux下开发程序,是在文字模式下,利用vi等文字编辑器撰写C/C++程序存盘后,在Command line下使用gcc编译,若要debug,则使用gdb。
这种开发方式生产力并不高,若只是开发学习用的小程序则影响不大,但若要开发大型项目时,程序档案个数众多,需要用project或solution的方式管理;且debug时breakpoint的加入,单步执行,观察变量变化等,都需要更可视化的方式才能够增加生产力;最重要的,由于现在的程序语言皆非常的庞大,又有复杂的函式库,要程序员熟记所有的程序语法和function名称,实在很困难,所以语法提示(Intellisense)的功能就非常重要,这些就必须靠IDE来达成。
在Windows平台上,若要开发C/C++程序,我们有Microsoft Visual Studio、Borland C++ Builder可用,这些都是很好用的IDE,但可惜仅能在Windows下使用,但是在Linux平台呢?基于以下理由,我推荐使用Eclipse开发C/C++程序:
1. Eclipse是一个用Java所撰写IDE,因此可跨平台,所以在Linux和Windows平台下皆可使用Eclipse,可降低程序员熟析IDE的学习曲线。
2. Eclipse虽然主要拿来开发Java程序,但事实上Eclipse为一个『万用语言』的IDE,只要挂上plugin后,就可以在Eclipse开发各种语言程序,所以我们只要挂上CDT(C/C++ Development Toolkit)后,就可以在Eclipse开发C/C++程序,除此之外,目前的主流程序语言,如C/C++、C#、Java、PHP、Perl、Python、Ruby、Rebol、JavaScript、SQL、XML、UML等,皆可在Eclipse上撰写,所以只要熟析Eclipse的IDE环境,将来若开发其它语言程序,就不用再重新学习IDE环境了。
3. 最重要的,Eclipse和CDT是Open Source且完全免费,取得相当容易,事实上Fedora 5已经包含Eclipse和CDT了,虽然预设Fedara 5安装时并没有含Eclipse,只要手动另外加选即可。
B. 如何在Linux下安装Eclipse和CDT?
i. 由Linux Distribution安装Eclipse,Fedora 5就内含Eclipse和CDT。
ii. 手动安装
1. 下载档案
A、 下载JRE(Java Runtime Environment) 。(http://java.sun.com/javase/downloads/index.jsp)
B、 下载Eclipse SDK。(http://www.eclipse.org/downloads/)
C、 下载CDT。(http://www.eclipse.org/cdt/downloads.php)
2. 安装
A、 安装JRE
i. [root@localhost ~]#mkdir /usr/local/java
ii. (将档案jre-1_5_0_09-linux-i586-rpm.bin下载到/usr/local/java目录下)
iii. (超级用户模式)
[root@localhost ~]#su
iv. [root@localhost ~]#cd /usr/java
v. (将您所下载的档的权限更改为可执行)
[root@localhost java]#chmod a+x jre-1_5_0_09-linux-i586-rpm.bin
vi. (启动安装过程)
[root@localhost java]#./jre-1_5_0_09-linux-i586-rpm.bin
(此时将显示二进制许可协议,按控格显示下一页,读完许可协议后,输入 『yes』继续安装。此时会将解压缩,产生jre-1_5_0_9-linux-i586.rpm)
vii. (安装jre-1_5_0_9-linux-i586.rpm)
[root@localhost java]#rpm –ivh jre-1_5_0_9-linux-i586.rpm
(此时会将JRE装在/usr/java/jre1.5.0_09目录下)
viii. (设定环境变量,让Linux能找到JRE)
[root@localhost java]#vi /etc/profile
(将以下内容加入在档案后面)
2export JAVA_HOME=/usr/java/jre1.5.0_09
3export CLASSPATH=$JAVA_HOME/lib:.
(存盘后,重新启动Linux)
ix. (测试Java是否安装成功)
[root@localhost ~]#java –version
B、 安装Eclipse SDK
i. (将档案eclipse-SDK-3.2.1-linux-gtk.tar.gz下载到桌面)
ii. [root@localhost ~]#cd /usr/local
iii. [root@localhost local]#cp ~Desktop/eclipse-SDK-3.2.1-linux-gtk.tar.gz .
iv. (将eclipse-SDK-3.2.1-linux-gtk.tar.gz解压缩)
[root@localhost local]#tar –zxvf eclipse-SDK-3.2.1-linux-gtk.tar.gz
v. [root@localhost local]#cd eclipse
vi. (执行Eclipse)
[root@localhost eclipse]#./eclipse
vii. (Select a workspace)
(将Use this as the default and do not ask again打勾,以后就不会出现这个窗口)
(第一次执行Eclipse会出现此error,因为没有任何Eclipse设定档,所以无法读取,第二次执行Eclipse就无此错误讯息,按OK继续。)
(Eclipse主画面)
C、 安装CDT
i. (将档案org.eclipse.cdt-3.1.1-linux.x86.tar.gz下载到桌面)
ii. [root@localhost ~]#cp ~/Desktop/org.eclipse.cdt-3.1.1-linux.x86.tar.gz .
iii. (将org.eclipse.cdt-3.1.1-linux.x86.tar.gz解压缩)
[root@localhost ~]#tar –zxvf org.eclipse.cdt-3.1.1-linux.x86.tar.gz
(档案将解到~/eclipse目录下)
iv. (安装CDT plugin)
[root@localhost ~]cp –r eclipse/plugins/. /usr/local/eclipse/plugins/
v. (启动Eclipse,多了C和C++ Project支持)
C. 如何在Eclipse上开发C/C++程序?
i. 建立Hello Word project
1. 建立C/C++ project
2. 选择Managed Make C++ Project(若选择Managed Make C++ Project,Eclipse会自动为我们建立make file;若选择Standard Make C++ Project,则必须自己写make file。)
3. 输入Project name
4. 选择Project类型(如执行档或Library,这里选择执行档即可)
5. 额外的设定
6. Open Associated Perspective?(选Yes继续)
7. 建立C++ Source File
8. 输入C++ Source File檔名
9. 输入C++程序代码
10. 执行程序(显示在下方的Console区)
ii. 如何在Eclipse CDT中Debug C/C++程序?
1. 在Eclipse中Debug,就如同在一般IDE中Debug一样,只要在程序代码的左方按两下,就可加入breakpoint。
2. 启动Debug
3. Debug设定,按Debug开始Debug
4. 单步执行,显示变量变化
E. 结论
Eclipse为Linux在C/C++开发提供一个完善的IDE环境,事实上,以我用过众多IDE的经验,除了Visual Studio最方便外,Eclipse的好用也直追Visual Studio,并且超越Borland C++ Builder及Dev C++,虽然安装上比较麻烦,但只要依照本文介绍一步一步的设定,就一定可完成Eclipse设定,若想要在Windows平台使用gcc compiler,也建议使用Eclipse + CDT + MinGW的组合。
See Also
[转载] Eclipse + CDT + MinGW 安装方法
Reference
1. 为Linux手动下载和安装Java Runtime Enrironment(JRE)的说明
(http://www.java.com/zh_CN/download/help/5000010500.xml)
2. Eclipse 3.0 CDT on Linux
(http://www.autexier.de/jmau/dev/CDT/cdt.html)