在Ubuntu Linux下安装Code::Blocks和Eclipse CDT

时间:2023-01-24 22:00:38

       最近小白由于有工作学习的需要,要尝试在Linux下进行C++编程。所以特地花了一点时间研究一下Linux下的C++的IDE。最后我尝试了使用Code::Blocks和Eclipse两个著名的IDE。本文分享一下小白安装过程中遇到的问题和使用心得。

一、Eclipse

(1)安装Eclipse CDT

       小白的安装方式是通过以下三条语句来的。

   1: sudo apt-get install eclipse
   2: sudo apt-get install eclipse-pde
   3: sudo apt-get install eclipse-jdt

      其实貌似还有一种更加便捷的安装语句。

   1: sudo apt-get install eclipse-cdt eclipse

(2)安装基本编译环境build-essential

       安装完eclipse后需要安装基本的编译工具build-essential。安装方法也很简单:

   1: sudo apt-get install build-essential

(3)解决全局菜单不显示的问题

       然后我们可以进入eclipse了。进入eclipse后我们会发现全局菜单栏失效!除了Project一栏,其他菜单栏都无法显示!网上查了一下,说是Ubuntu 13.10上Unity的bug。网上给了两种解决方案:

       A.不要直接启动eclipse,使用env UBUNTU_MENUPROXY= /home/user/eclipse/eclipse启动eclipse,注意等号和eclipse路径之间有个空格。

       B.建立一个Eclipse的快捷方式,eclipse.desktp内容如下:

   1: Type=Application
   2: Name=Eclipse
   3: Comment=Eclipse Integrated Development Environment
   4: Icon=/usr/share/app-install/icons/eclipse.png
   5: Exec=env UBUNTU_MENUPROXY= eclipse(eclipse的路径)

       其实我觉得结合一下两种方法也很简单,直接用root权限去修改现有快捷方式就行了!

   1: sudo vim /usr/share/applications/eclipse.desktop

       然后在最后一行加上:

   1: Exec env UBUNTU_MENUPROXY= eclipse

       这样在Dash页面搜索eclipse然后启动就能显示全局菜单栏了。

(4)安装CDT插件

       添加源:http://download.eclipse.org/tools/cdt/releases/indigo

       然后选择第一个CDT Main Feature全部安装。

(5)添加环境变量

       Preference->C/C++->Build->Environment

       Variable:CPP_INCLUDE_PATH

       Value:/usr/include/c++/4.8.1(gcc版本)

       Variable:C_INCLUDE_PATH

       Value:/usr/include

 

二、Code::Blocks

       然后是Code::Blocks,看到一篇帖子推荐说Code::Blocks可以给你如Windows上的Visual Studio一般的便捷。Code::Blocks的安装非常简单,在软件中心里操作即可。

       但是在使用Code::Blocks的时候会出现一个问题:某些时候无法输入!求助于万能的互联网,我终于找到了答案:Code::Blocks与ibus输入法不兼容,换成其他输入法即可。

 

三、使用心得

       Eclipse中编辑C++并不像写Java那么方便,至少操作上是的。

       一开始,我新建了一个C++文件,在里面输入using std::cout和using std::endl后在main函数中cout依然无法被正确识别。后来我发现一定要保存一次源文件,cout和endl才会被正确识别。

       其次Eclipse是可以像提示Java代码一样帮用户补全的,但是一定要用<Ctr> + </>来激活。我搞不懂这样有意义吗?为啥不能像Java一样方便提示呢?

       Code::Blocks给我的使用体验非常好。操作简单、代码提示方便齐全。唯一美中不足的在使用对象或结构体指针取分量的时候不能自动的把“.”替换成“->”。平时C#写惯了,乍一回到C++还真有点不适应。