首页 > 代码库 > eclipse 灵活使用makefile来编译C/C++

eclipse 灵活使用makefile来编译C/C++

需求:

最近在看<C++ Primer Plus>, 作者在不断优化自己的类,有许多不同的版本,有很多的测试函数(main函数),我使用的是eclipse+CDT来编写C++,不可能为每个类都创建一个工程。那咋办呢?

我们知道gcc+makefile+gdb,是linux下的神器,使得编写程序相当的灵活,奈何水平不够,还是使用了IDE来配合。

下面就来看看怎么使用elipse+makefile来灵活编译程序。

1. 首先上一张效果图:


2. 文件说明,添加了文件夹header和src,来存储头文件和实现文件,src下面有一个makefile文件,生成的可执行文件放在Binaries下面;

3. 怎么配置:

(1)在工程的属性中,c/c++ build中,新建一个配置(manage configuration);

(2)build settings中,肯定是将自动生成makefile的选项给去掉,下面的build路径中选择makefile所在的路径即可;

(3)可以参考下图,具体配置,可以参考:http://yuoveyu.blog.51cto.com/2926448/596429


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++