Windows下用Eclipse搭建C/C++开发环境
本文假定你已经熟悉Java,Eclipse的安装,并能顺利启动和运行Eclipse.此外因为各软件版本在不断更新,有些地方可能不准确,以最新的、原文资料为准。
距上一次写和调C++程序,已经5、6年了,光阴荏苒岁月无情,现在再重新拾起来,很多东西都要从头来。Windows下C/C++的IDE有很多,我知道的就有MS Visual Studio,Borland C++等,但这些是要版权的。不要钱也有一些,但因为对Eclipse太熟了,所以就选下面要讲的Eclipse + GNU toolchain(话说toolchain这个词很形象).
1. 首先下载Eclipse for C++, 最新版是基于Eclipse 3.5.1的,叫做galileo(伽利略),上个版本3.4貌似叫做ganymede(木卫三)。下载地址:http://eclipse.org/downloads/,选择32bit for windows,文件名叫 eclipse-cpp-galileo-SR1-win32.zip
2. 解压,直接运行。注意,至少JDK你已经安装了(我用的是JDK1.6)。运行后一个灰蓝色的welcome页面出现,进入Tutorials。学东西先读Tutorial是个好习惯。
3. 首先了解一下什么是CDT,就是 C/C++ Development Toolkit,bulabula... 然后它说,这个东西没包含C/C++的编译器、调试器,你得自己弄。
4. 那就继续看。Windows下,MinGW和Cygwin 是获取GNU toolchain的2种主要方式(GNU toolchain,GNU下一系列的工具包,我的理解主要是gcc这一系列工具)。这两者最大的区别是MinGW使用Windows C的运行库,叫做mscvrt,而Cygwin使用了一组基于GPL的DLLs(GPL协议具有传染性,使用GPL协议下的软件后你自己开发的东西也要遵守GPL协议),因此MinGW避开了GPL协议。
5. MinGW和CDT能很好的整合。好吧,我们装MinGW(MinGW是Minimal GNU for Windows的意思,这个下载过程相当慢,我下了大半个小时)。当前版本是MinGW-5.1.6.exe,我一股脑来了个Full install。装完后才发现这么一句:Do not install the MinGW Make feature as the MSYS version of make from step 5 is a more complete implementation of make.(不要安装MinGW的Make, 第5步的MSYS是个更好的实现方案)
6. 为了避免将来可能遇到的问题,卸了重装。这里是完整的安装步骤:
1)下载MinGW,地址 http://sourceforge.net/projects/mingw/files/
2)安装MinGW base tool和g++编译器(不要安装Make);我把除了Make之外的都装了,里面居然还有个Ada的编译器
3)当前版本(它是指MinGW-5.1.3,不过我下的5.1.6同样也没有)没有装gdb debugger, 下载它:http://downloads.sourceforge.net/mingw/gdb-6.6.tar.bz2
4)解压gdb-6.6.tar.bz2 到你安装MinGW的地方,gdb-6.6/下也有一系列bin,inclue文件夹,直接拷到MinGW下面覆盖进去即可
5)如果要用Makefile,请下载 MSYS-1.0.10.exe,MSYS是make及命令行的一个实现。嗯,要用。下载地址 http://downloads.sourceforge.net/mingw/MSYS-1.0.10.exe
安装界面是个命令界面,写2个”y”,然后告知MinGW的安装路径即可。
OK,安装部分就完成了。下面写2个小例子。
7. 首先创建一个简单的HelloWorld C++工程,这个很简单,按Wizard向导建一个模板即可。
Run的时候选Run Configurations, 然后双击C/C++ application建一个新的run configuration就行。
8. 下面建一个Makefile类型的工程。选择New C++ Project -> Makefile project -> Empty Project, 我们建一个空的项目,建完后里面什么也没有(除了2个.project文件),这时,我们要建一个源文件和一个make文件:main.cpp 和 makefile,如下,都建到根目录下:
- /*
- * main.cpp
- */
- #include <iostream>
- using namespace std;
- int main () {
- // Say Hello five times
- for (int index = 0; index < 5; ++index)
- cout << "HelloWorld!" << endl;
- char input = 'i';
- cout << "To exit, press 'm'" << endl;
- while(input != 'm') {
- cin >> input;
- cout << "You just entered " << input
- << " you need to enter m to exit." << endl;
- }
- exit(0);
- }
- all: hello.exe
- clean:
- rm main.o hello.exe
- hello.exe: main.o
- g++ -g -o hello main.o
- main.o:
- g++ -c -g main.cpp
注意,makefile里的行首缩进用的是Tab而不是空格。如果编译时提示 No separator...就是这里有问题。
9. Ok, 选中工程,点Build(或点那个小锤子),你会发现这个错误:(Cannot run program "make": Launching failed),啊,我们的make.exe还没设。选中工程,直接Alt-Enter到工程属性页,把msys的bin加到Path里。
10. 重新build, 大功告成。
Windows下用Eclipse搭建C/C++开发环境的更多相关文章
- HBase学习----windows10下使用eclipse搭建HBase的开发环境
以下是我搭建HBase开发环境的一些心得(windows10) 0.安装JDK和eclipse和一个可用的HBase. 这步是最基础的,在此就不赘述了 1.创建一个java项目: 基础问题,不赘述. ...
- Ubuntu下安装C/C++开发环境【!!!有更新!!!Ubuntu14.10下使用eclipse搭建C语言开发环境】
(1)第一步安装Eclipse,有两种方法,使用软件市场搜索就可以得到,安装就可以 另外一种是使用终端安装,命令例如以下: sudo su进入root模式 输入password 然后 输入:sudo ...
- Windows下基于eclipse的Spark应用开发环境搭建
原创文章,转载请注明: 转载自www.cnblogs.com/tovin/p/3822985.html 一.软件下载 maven下载安装 :http://10.100.209.243/share/so ...
- 【转】windows和linux中搭建python集成开发环境IDE
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- 使用Eclipse搭建C/C++开发环境(转)
使用Eclipse搭建C/C++开发环境 文章出自:http://www.cnblogs.com/liuxianan/archive/2013/01/15/2861196.html 说明:网上有很多 ...
- windows和linux中搭建python集成开发环境IDE——如何设置多个python环境
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- Windows下为 Eclipse 配置 C/C++ 编译环境(转)
1.Eclipse及CDT的安装 CDT的全称是C/C++ DevelopmentTools,CDT使得Eclipse能够支持C/C++的开发.直接下载 eclipse CDT 集成版 下载地址:ht ...
- spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象
相关 知识 >>> 相关 练习 >>> 实现要求: 在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXm ...
- spring练习,使用Eclipse搭建的Spring开发环境,属性注入通过构造方法方式实现,模拟用户的正常登录。
相关 知识 >>> 相关 练习 >>> 实现要求: 使用Eclipse搭建的Spring开发环境,属性注入通过构造方法方式实现,模拟用户的正常登录.要求如下: 通过 ...
随机推荐
- bzoj 3091 城市旅行(LCT+数学分析)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3091 [思路] 膜Popoqqq大爷的题解 click here [代码]是坑... ...
- 并行开发——Parallel的使用 -摘自网络
随着多核时代的到来,并行开发越来越展示出它的强大威力,像我们这样的码农再也不用过多的关注底层线程的实现和手工控制, 要了解并行开发,需要先了解下两个概念:“硬件线程”和“软件线程”. 1. 硬件线程 ...
- cloudera hbase集群简单思路
文章copy link:http://cloudera.iteye.com/blog/889468 链接所有者保留所有权! http://www.csdn.net/article/2013-05-10 ...
- Linux里实用命令之添加行号、文本和语法高亮显示
写在前面的话 本博主我,强烈建议,来看此博文的朋友们,都玩玩. 最好,在刚入门的时候呢,不加行号,不玩文本和语法高亮显示,以后会深有体会.磨炼自己! 步骤一:进入 /etc/virc配置文件 步骤二: ...
- Apache Spark GraphX
GraphX基于BSP模型,在Spark之上封装类似Pregel的接口,进行大规模同步全局的图计算,尤其是当用户进行多轮迭代时,基于Spark内存计算的优势尤为明显.
- Spring+Quartz 整合一:常规整合
步骤一: 定时任务需要一个配置文件(spring-mvc-timeTask.xml 随便起名),将其在web.xml中加载 <context-param> <param-name&g ...
- POJ 2236 Wireless Network (并查集)
Wireless Network 题目链接: http://acm.hust.edu.cn/vjudge/contest/123393#problem/A Description An earthqu ...
- freemarker截取字符串subString
转至:http://fengzhijie1103.iteye.com/blog/1142918 freemarker截取字符串其实和JAVA语法是差不多了,也有substring 方法 如 ...
- spring对数据库特殊字段的支持
1.CLOB <property name="tomdTemplateContent" type="org.springframework.orm.hibernat ...
- 表与表 不同条件下的关联SQL
USE [ChiefMes]GO /****** Object: StoredProcedure [dbo].[Kenta_RptEmpOEE] Script Date: 05/12/2015 13: ...