最近小白由于有工作学习的需要,要尝试在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++还真有点不适应。

在Ubuntu Linux下安装Code::Blocks和Eclipse CDT的更多相关文章

  1. Ubuntu Linux下安装Oracle JDK

    from://http://blog.csdn.net/gobitan/article/details/24322561 Ubuntu Linux下安装Oracle JDK Dennis Hu 201 ...

  2. 在centos 6.9 x64下安装code::blocks步骤

    1.yum groupinstall "Development tools" 2.yum install gtk2* 3.安装wxWidgets 下载地址:https://www. ...

  3. Debian/Ubuntu Linux 下安装LLVM/Clang 编译器

    第一步,首先编辑 /etc/apt/sources.list,增加下面源: (加入源后务必执行apt-get update,假设有错误提示,先执行第二步,然后apt-get update) Debia ...

  4. linux下安装Java se和Eclipse

    首先要去下载好JDK,Java SE 8的官方网址是http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213 ...

  5. 在Ubuntu Linux下怎样安装QQ

    最近好多人在吐槽Linux下上QQ简直就是煎熬,网页版的不方便,网上各种版本的QQ要么是功能不全.要么是界面丑到爆,要么是运行不稳定.那么这次为大家带来一个功能完整.运行稳定的wineQQ安装过程. ...

  6. Linux(Ubuntu)下安装NodeJs

    用以下命令来升级系统,并且安装一些Node.JS必要的包. Linux(Ubuntu)下安装NodeJs 安装nodeJS之前,如果没有安装g++ make libssl-dev等, 1.更新系统和依 ...

  7. ubuntu下使用code::blocks编译运行一个简单的gtk+2.0项目

    在具体的操作之前,首先需要安装一些必要的软件.ubuntu下默认安装了gcc,不过缺少必要的Header file,可以在命令行中输入下面的指令安装build-essential套件:sudo apt ...

  8. Kali Linux 下安装配置MongoDB数据库 ubuntu 下安装配置MongoDB源码安装数据库

    Kali Linux 下安装配置MongoDB数据库   1.下载mongodb.tgz 压缩包: 2.解压到:tar -zxvf mongodb.tgz /usr/local/mongodb 3.创 ...

  9. centos6.4 安装code::blocks

    今天下午闲着没事尝试在自己的PC中的CentOS上装一个Code::Blocks,因为是Linux菜鸟折腾了一下午才基本算搞定但依然有疑惑: 在网上各种谷哥度娘最后才发现还是官方的文档最靠谱:看这里. ...

随机推荐

  1. HDU-4694 Professor Tian 概率DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4649 题意:给一个位运算的表达式,每个运算符和其后的运算数有一定概率不计算,求最后表达式的期望. 因为 ...

  2. 荔枝FM架构师刘耀华:异地多活IDC机房架构 - 极客头条 - CSDN.NET

    荔枝FM架构师刘耀华:异地多活IDC机房架构 - 极客头条 - CSDN.NET 荔枝FM架构师刘耀华:异地多活IDC机房架构 - 极客头条 - CSDN.NET 途牛谭俊青:多数据中心状态同步&am ...

  3. MAX16054

    MAX16054是带有单个开关去抖以及内部闭锁电路的按键通/断控制器,可接受机械开关产生的嘈杂输入,并经过一个有工厂设置的延迟时间后产生干净的数字锁存输出. 开关通.断期间,MAX16054无接触抖动 ...

  4. hdoj 4548 美素数

    美素数 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)Total Submiss ...

  5. [iOS基础控件 - 6.8] 各种数据类型的@property属性

    A.内存管理 NSString: copy 基本数据类型.结构体(int, CGFloat, BOOL, CGRect等):assign 对象(如自定义model类型.NSArray.NSDictio ...

  6. 转载SSIS中的容器和数据流—数据转换(Transformations)续

    数据挖掘请求 数据挖掘任务是SSIS中一个很重要的任务,它的思想来源于一些算法.数据挖掘请求运行数据挖掘请求,并将结果输出到数据流.它还可以添加一些预测新列,一些应用场合如下列举: 根据已知的一些列, ...

  7. [六]SpringMvc学习-文件上传

    1.单文件上传 1.1修改配置文件 <bean id="multipartResolver" class="org.springframework.web.mult ...

  8. 关于local storage 和 session storage以及cookie 区别简析

    session storage 和local storage 都是存储在客户端的浏览器内: 一:关于COOKIE 的缺陷 * Cookie的问题 * 数据存储都是以明文(未加密)方式进行存储 * 安全 ...

  9. 理解js中的原型链,prototype与__proto__的关系

    说到prototype,就不得不先说下new的过程. 我们先看看这样一段代码: 1 <script type="text/javascript"> 2 var Pers ...

  10. c++中类长度解析

    通常我们定义一个类,它所占的空间有多大呢? 首先我们看一下下面的这个类 class A{ public: void func1(void){ printf("11111heihei\n&qu ...