需求:

近期在看<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++的更多相关文章

  1. Eclipse如何安装JD-Eclipse反编译插件

    一.Eclipse在线安装JD-Eclipse反编译插件 1.在eclipse的help—>Install New Software...中添加新软件开发,添加它的源: name:jd-ecli ...

  2. 【转】Eclipse Class Decompiler——Java反编译插件

    闲暇之余,写了一个Eclipse下的Java反编译插件:Eclipse Class Decompiler,整合了目前最好的2个Java反编译工具Jad和JD-Core,并且和Eclipse Class ...

  3. eclipse在线安装jd反编译插件

    eclipse在线安装jd反编译插件地址 http://jd.benow.ca/jd-eclipse/update

  4. Eclipse Class Decompiler——Java反编译插件(转)

    Eclipse Class Decompiler是一款Eclipse插件,整合了多种反编译器,和Eclipse Class Viewer无缝集成,能够很方便的使用插件查看类库源码,进行Debug调试. ...

  5. Eclipse Class Decompiler——Java反编译插件

    http://www.blogjava.net/cnfree/archive/2012/10/30/390457.html Eclipse Class Decompiler是一款Eclipse插件,整 ...

  6. 在Scala IDEA for Eclipse或IDEA里程序编译实现与在Spark Shell下的对比(其实就是那么一回事)

    不多说,直接上干货! 比如,我这里拿主成分分析(PCA). 1.主成分分析(PCA)的概念介绍 主成分分析(PCA) 是一种对数据进行旋转变换的统计学方法,其本质是在线性空间中进行一个基变换,使得变换 ...

  7. Eclipse Class Decompiler——Java反编译插件手工配置方法

    最近在eclipse上配置了java反编译插件,但是不好用,原因是我的eclipse之前有手动配置过一些类似的java反编译插件,当我将原来的插件完全卸载后重新配置才正常配置上去,自动配置java反编 ...

  8. eclipse配置JDK和设置编译版本的几种方法

    eclipse配置JDK和设置编译版本的几种方法  2016-12-13 16:08             http://blog.csdn.net/gnail_oug/article/detail ...

  9. Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子

    [学习笔记] Win7 Eclipse 搭建spark java1.8编译环境,JavaRDD的helloworld例子: 在eclipse oxygen上创建一个普通的java项目,然后把spark ...

随机推荐

  1. 学习使用Jmeter做压力測试(一)--压力測试基本概念

    一.性能測试的概念         性能測试是通过自己主动化的測试工具模拟多种正常峰值及异常负载条件来对系统的各项性能指标进行測试.负载測试和压力測试都属于性能測试,两者能够结合进行. 通过负载測试, ...

  2. linux(Centos)下编译安装gcc4.8.2

    欢迎转载.转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/46811159 近期要用到c++ 11,所以没办法仅仅得把那台ce ...

  3. findlibrary returned null产生的联想,Android ndk开发打包时我们应该怎样注意平台的兼容(x86,arm,arm-v7a)

    非常多朋友在开发Android JNI的的时候,会遇到findlibrary returned null的错误,由于某种原因,so没有打包到apk中.以下浅析下引起该错误的原因以及平台兼容性问题. A ...

  4. MYSQL 什么时候用单列索引?什么使用用联合索引?(收集)

    我一个表 students 表,有3个字段 ,id,name,age 我要查询 通过 name 和age,在这两个字段 是创建 联合索引?还是分别在name和age上创建 单列索引呢? 多个字段查询什 ...

  5. (五)hibernate关联映射之——多对一映射

    单向多对一关联: 1.多对一的关系和关系数据库中的外键参照关系最匹配,即在己方(多方)的表中的一个外键参照另一个表的主键: 2.通过在多方持有一方的引用实现,需要在“多”的一端使用<many-t ...

  6. react native window下的环境搭建和调试方案

    这几天使用react native开发app,遇到一些坑,先记录下来,以后再继续补充 环境搭建 打开react native中文网,发现环境搭建特么也太复杂了,安装各种插件/软件,对于我们 编辑器+浏 ...

  7. VLC命令行参数详解

    VLC命令行参数详解 2012-11-29 14:00 6859人阅读 评论(0) 收藏 举报 Usage: vlc [options] [stream] ...You can specify mul ...

  8. Centos 7 防火墙

    systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体.启动一个服务:systemctl start firewalld.service ...

  9. 从JavaScript 数组去重看兼容性有关问题,及性能优化(摘自玉伯博客)

    JavaScript 数组去重经常出现在前端招聘的笔试题里,比如: 有数组 var arr = ['a', 'b', 'c', '1', 0, 'c', 1, '', 1, 0],请用 JavaScr ...

  10. mongodb查询实练

    1.mongodb中如何查询 (a=1 or b=2) and (c=3 or d=4)//格式:db.collection.find({"$and":[{第一个条件},{第二个条 ...