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)

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_java



      vii. (安装jre-1_5_0_9-linux-i586.rpm) 

      [root@localhost java]#rpm –ivh jre-1_5_0_9-linux-i586.rpm 

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_eclipse_02


      (此时会将JRE装在/usr/java/jre1.5.0_09目录下)


      viii. (设定环境变量,让Linux能找到JRE)

      [root@localhost java]#vi /etc/profile

      (将以下内容加入在档案后面) 1

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_linux_03

PATH=$PATH:/usr/java/jre1.5.0_09/bin

2

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_linux_03

export JAVA_HOME=/usr/java/jre1.5.0_09

3

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_linux_03

export CLASSPATH=$JAVA_HOME/lib:. (存盘后,重新启动Linux)


      ix. (测试Java是否安装成功)

      [root@localhost ~]#java –version

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_linux_06



    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打勾,以后就不会出现这个窗口)

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_java_07



      (第一次执行Eclipse会出现此error,因为没有任何Eclipse设定档,所以无法读取,第二次执行Eclipse就无此错误讯息,按OK继续。)

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_linux_08



      (Eclipse主画面)

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_linux_09



    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支持) 

    

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_eclipse_10



C. 如何在Eclipse上开发C/C++程序?
i. 建立Hello Word project

  1. 建立C/C++ project

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_linux_11



  2. 选择Managed Make C++ Project(若选择Managed Make C++ Project,Eclipse会自动为我们建立make file;若选择Standard Make C++ Project,则必须自己写make file。)

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_eclipse_12



  3. 输入Project name

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_linux_13



  4. 选择Project类型(如执行档或Library,这里选择执行档即可)

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_linux_14



  5. 额外的设定

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_eclipse_15



  6. Open Associated Perspective?(选Yes继续)

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_java_16



  7. 建立C++ Source File

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_linux_17



8. 输入C++ Source File檔名

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_java_18



  9. 输入C++程序代码

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_linux_19



  10. 执行程序(显示在下方的Console区)

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_linux_20



ii. 如何在Eclipse CDT中Debug C/C++程序?

1. 在Eclipse中Debug,就如同在一般IDE中Debug一样,只要在程序代码的左方按两下,就可加入breakpoint。

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_java_21



  2. 启动Debug

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_eclipse_22



  3. Debug设定,按Debug开始Debug

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_eclipse_23



  4. 单步执行,显示变量变化

如何在Linux使用Eclipse + CDT开发C/C++程序? (OS) (Linux) (C/C++) (gcc) (g++)_eclipse_24



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)