需求:
近期在看<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++