eclipse 灵活使用makefile来编译C/C++
需求:
近期在看<C++ Primer Plus>, 作者在不断优化自己的类。有很多不同的版本号,有非常多的測试函数(main函数),我使用的是eclipse+CDT来编写C++,不可能为每一个类都创建一个project。那咋办呢?
我们知道gcc+makefile+gdb。是linux下的神器,使得编敲代码相当的灵活,奈何水平不够,还是使用了IDE来配合。
以下就来看看怎么使用elipse+makefile来灵活编译程序。
1. 首先上一张效果图:
2. 文件说明,加入了目录header和src,来存储头文件和实现文件,src以下有一个makefile文件。生成的可运行文件放在Binaries以下。
3. 怎么配置:
(1)在project的属性中,c/c++ build中。新建一个配置(manage configuration)。
(2)build settings中。肯定是将自己主动生成makefile的选项给去掉,以下的build路径中选择makefile所在的路径就可以;
(3)能够參考下图。详细配置,能够參考:http://yuoveyu.blog.51cto.com/2926448/596429
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenk0MTY1NDgyODM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
4. 剩下的就是自己写makefile文件了,有个经典的教程:<跟我一起写makefile>,能够參考,我这里的makefile:
CC := g++
RM := rm -rf all : usetime0 usetime1 usetime2 usetime3 clean :
$(RM) usetime0 usetime1 usetime2 usetime3 usetime0 : usetime0.cpp
$(CC) usetime0.cpp mytime0.cpp -o ../Binaries/usetime0 usetime1 : usetime1.cpp
$(CC) usetime1.cpp mytime1.cpp -o ../Binaries/usetime1 usetime2 : usetime2.cpp
$(CC) usetime2.cpp mytime2.cpp -o ../Binaries/usetime2 usetime3 : usetime3.cpp
$(CC) usetime3.cpp mytime3.cpp -o ../Binaries/usetime3
5. windows下使用vs2012怎么灵活的编译呢? 眼下使用的是ifdefine来进行控制相应的main函数,想使用哪个main函数,就在那个main函数里define一个宏变量。
记录一个问题:PCH
警告:标头停止点不能位于宏或#if块中, #pragma
once作为头文件的第一句就能够避免出现文章标题所说的警告问题.
写在后面:
1.eclipse的配置。曾经写过一个eclipse安装NS3。事实上跟这个流程差点儿相同;
2.怎么学习C++,能够參考文章:怎样学好C++ : 包含一些书籍以及和java对照学习,能够自己找些开源的项目来学习; 知乎上也有讨论主题:怎么样才算学好C++
eclipse 灵活使用makefile来编译C/C++的更多相关文章
- Eclipse如何安装JD-Eclipse反编译插件
一.Eclipse在线安装JD-Eclipse反编译插件 1.在eclipse的help—>Install New Software...中添加新软件开发,添加它的源: name:jd-ecli ...
- 【转】Eclipse Class Decompiler——Java反编译插件
闲暇之余,写了一个Eclipse下的Java反编译插件:Eclipse Class Decompiler,整合了目前最好的2个Java反编译工具Jad和JD-Core,并且和Eclipse Class ...
- eclipse在线安装jd反编译插件
eclipse在线安装jd反编译插件地址 http://jd.benow.ca/jd-eclipse/update
- Eclipse Class Decompiler——Java反编译插件(转)
Eclipse Class Decompiler是一款Eclipse插件,整合了多种反编译器,和Eclipse Class Viewer无缝集成,能够很方便的使用插件查看类库源码,进行Debug调试. ...
- Eclipse Class Decompiler——Java反编译插件
http://www.blogjava.net/cnfree/archive/2012/10/30/390457.html Eclipse Class Decompiler是一款Eclipse插件,整 ...
- 在Scala IDEA for Eclipse或IDEA里程序编译实现与在Spark Shell下的对比(其实就是那么一回事)
不多说,直接上干货! 比如,我这里拿主成分分析(PCA). 1.主成分分析(PCA)的概念介绍 主成分分析(PCA) 是一种对数据进行旋转变换的统计学方法,其本质是在线性空间中进行一个基变换,使得变换 ...
- Eclipse Class Decompiler——Java反编译插件手工配置方法
最近在eclipse上配置了java反编译插件,但是不好用,原因是我的eclipse之前有手动配置过一些类似的java反编译插件,当我将原来的插件完全卸载后重新配置才正常配置上去,自动配置java反编 ...
- eclipse配置JDK和设置编译版本的几种方法
eclipse配置JDK和设置编译版本的几种方法 2016-12-13 16:08 http://blog.csdn.net/gnail_oug/article/detail ...
- Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子
[学习笔记] Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子: 在eclipse oxygen上创建一个普通的java项目,然后把spark ...
随机推荐
- Cognos10.2.1配置加密信息不能被加密
好奇心害死猫,可是我不是猫.这个问题已经不是第一次出现了,之前是从10.1.1到10.2.0出现的,这次是从10.2.0到10.2.1出现的,上次由于时间的问题被搁置了,这次竟然再次遇到同样的问题,已 ...
- MySQL插值语句
insert into Daywork( fdayworkId, fuserId, fdate, fhours, fclaimdate ) values ( 2709, '1@2.3', '2013- ...
- 从HttpServletRequest获取完整的请求路径
String url = request.getRequestURI(); // 这个方法只能获得不包含参数的请求url,且只包含相对路径 StringBuffer url_buffer = requ ...
- python import 错误 TypeError: 'module' object is not callable
python import 错误 TypeError: 'module' object is not callable 在这里,有 Person.py test.py; 在 test.py 里面 im ...
- linux中Oops信息的调试及栈回溯
Oops 信息来源及格式 Oops 这个单词含义为“惊讶” ,当内核出错时(比如访问非法地址)打印出来的信息被 称为 Oops 信息. Oops 信息包含以下几部分内容. 1 一段文本描述信息. 比如 ...
- PHP RESTful
PHP RESTful REST(英文:Representational State Transfer,简称REST) ,指的是一组架构约束条件和原则. 符合REST设计风格的Web API称为RES ...
- keepalived 使用注意事项
1.启动用service keepalived start/stop 比直接 /sbin/keepalived start/stop要好,貌似解决了master停止了keepalived服务而back ...
- setup factory 打包VB 工程
setup factory 使用起来很简单你可以如下:1.你把你刚编译出来的exe和相关的资源文件复制到某一空目录下.把exe文件添加到setup factory里之后,在列表里右键,属性里面可以设置 ...
- 《学习opencv》笔记——矩阵和图像操作——cvCrossProduct and cvCvtColor
矩阵和图像的操作 (1)cvCrossProduct函数 其结构 void cvCrossProdust(//计算两个三维向量的叉积 const CvArr* src1, const CvArr* s ...
- 【Linux】cp命令
用途 cp除了复制功能之外还可以建立快捷方式 全称 cp的全称为copy 参数 -a :相当于同时指定参数pdr -d :若文件为链接文件的属性(link file),则复制链接文件属性而非档案本身 ...