強調(diào)VS2003 makefile的一些見解與幫助
希望我對VS2003makefile的一點經(jīng)驗能給大家?guī)韼椭?,對于VS2003makefile的編譯我也是琢磨了許久,才得出的以下方法,其中有許多語句可能存在錯失,歡迎大家指出來進行探討。
不服氣,到網(wǎng)上找一些VS2003makefile的教程,盡是些文件依賴、目標之類的理解不了的名次。于是,謬論就這樣在心中扎根了。
兩星期后,也就是今天,偶然的一個測試讓我明白了————makefile實在是很簡單,為啥教程都那么復雜呢?#t#
當然,本文所提到的,是針對初學者的"HelloWorld!"級別的makefile,并不能否認VS2003makefile的高級功能的復雜和強大。
我目前所能夠理解到的makefile,就是一個批處理程序而已。(如同Linux下的shell文件)makefile關(guān)鍵的處理步驟,就是調(diào)用編譯程序來執(zhí)行編譯,windows下是cl,Linux下是g++。Windows下的make程序是nmake.exe,Linux下是make。執(zhí)行編譯,windows下是cl,Linux下是g++。Windows下的make程序是nmake.exe,Linux下是make。
咱們先寫一個簡單的C程序:
- #include <stdio.h>
- int main()
- {
- printf("hello world!\n");
- getchar();
- return 1;
- }
把這個程序保存為test.cpp。
在WINDOWS下執(zhí)行編譯(先執(zhí)行c:\programe files\vs2003\Vc7\bin\vcvars32.bat):cl test.cpp
在Linux下執(zhí)行編譯:g++ test.cpp
很簡單嘛!然后寫makefile文件:
- anyname:
- cl test.cpp
- #在linux下,上一行寫成 g++ test.cpp
- #注意cl這一行:前面的縮進是一個tab鍵,一定要是tab才可以
- #***行的anyname可以是任何名字,但是要加上冒號
在WINDOWS下使用NMAKE編譯(先執(zhí)行c:\programe files\vs2003\Vc7\bin\vcvars32.bat):nmake.exe
在Linux下使用MAKE編譯:VS2003makefile
呵呵,很簡單吧?其實VS2003makefile中大多都是變量的定義,最終把這些變量的值作為cl或g++的參數(shù)來使用。
希望任何教程都先展示一個Hello World后在開始傳教,對于菜鳥來說,***次成功的信心是***的鼓勵。