需求:

近期在看<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. (转)实现AI中LOD优化技术

    LOD(Level Of Detail)是3D渲染中用到的概念,按照wikipedia上的翻译,可以译为“细节层次”,它是一种根据与观察点的距离,来减低物体或者模型的复杂度来提升渲染效率的优化技术,因 ...

  2. spring mvc--默认都使用了哪些bean

    在MVC中默认使用的bean都定义在了 org.springframework.web.servlet下的DispatcherServlet.properties 下载源文件后可查看到默认bean定义 ...

  3. [Transducer] Make Transducer works for Iteratable collection and Object

    We've seen how we can transduce from arrays or other iterables, but plain objects aren't iterable in ...

  4. 同一个数据库实例,不同用户下多表创建视图,Hibernate完毕ORM映射,Spring整合,后台实现

    1.同一个数据库实例.同用户,多表创建视图 2.同一个数据库实例,不同用户下.多表创建视图 3.同一个数据库,不同数据库实例,多表创建视图 4.不同类型数据库,多表创建视图 1.同一个数据库实例.同用 ...

  5. request.getHeader不区分大小写

    <!--查看输出信息--><% System.out.println("Header...."); Enumeration<String> e = r ...

  6. javaSE知识点汇总

    Java基础知识精华部分   写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部分用到哪些语句,方法,和对象. 4,代码实现.用具体的java语言 ...

  7. std::nothrow

    std::nothrow 1.在内存不足时,new (std::nothrow)并不抛出异常,而是将指针置NULL. 若不使用std::nothrow,则分配失败时程序直接抛出异常. 2.使用方式: ...

  8. iOS开发之UITableView的使用

    这一篇记录的是iOS开发中UITableView的使用,iOS中的UITableView跟Android中的ListView特别相似,以下用一个Demo来说明: 1.Xcode中新建projectTe ...

  9. Android自定义控件-折线图

    好长时间没有更新博客了,终于可以抽出时间写点东西了,写点什么呢?最近在qq群里边有人问,下边的这个控件怎么画?如下图所示:图可以左右拖动,直到显示完全为止.刚开始看到这个效果图,我也想了一下总共分为以 ...

  10. Android 8款开源游戏引擎

    1.Angle  (2D    Java) Angle是一款专为Android平台设计的,敏捷且适合快速开发的2D游戏引擎,基于OpenGLES技术开发.该引擎全部用Java代码编写,并且可以根据自己 ...