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


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一個宏變量。記錄一個問題:P CH 警告:標頭停止點不能位於宏或# if塊中, #pragma once作為頭文件的第一句就能夠避免出現文章標題所說的警告問題.

寫在后面:

1.eclipse的配置,曾經寫過一個eclipse安裝NS3。事實上跟這個流程差點兒相同。

2.怎么學習C++,能夠參考文章:怎樣學好C++ : 包含一些書籍以及和java對照學習,能夠自己找些開源的項目來學習。 知乎上也有討論主題:怎么樣才算學好C++




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM