而當檔案變多時編譯起來有時就很麻煩 =''=
例如: g++ -o main main.cpp Bmi.cpp
所以
有Makefile這個神器後,編譯只需要打....
make
沒錯
就是make!!!!
首先需要了解檔案之間的關係
target後面接會影響target的檔案
下一行<Tab>後接指令
然後需要在同一目錄下新增Makefile這個檔案
vim Makefile
打入剛剛講的東西
範例:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
main: Bmi.o main.o | |
g++ -o main main.o Bmi.o | |
Bmi.o: Bmi.cpp Bmi.h | |
g++ -c Bmi.cpp | |
main.o: main.cpp Bmi.h | |
g++ -c main.cpp | |
clean: | |
rm Bmi *.o |
注意!!!!
一定要用Tab不可以用空白鍵
再來只要用make就可以完成編譯
優點是打少字,而且只有有變動的才會再重新編譯
這樣較不耗資源 嗎OuO
<進階>
Makefile不一定要叫Makefile
不過使用時要用
make -f 檔名
p.s.
不過我覺得有時候小難用=''=
常常出現 Makefile:2: *** missing separator. Stop.
好像在不同的環境都有點點點不一樣
在Cygwin中
指令完下一行一樣要Tab,再換行
參考資料:
神人老師
make 命令和 makefile
Makefile:2: *** missing separator. Stop [duplicate]
make 的常見錯誤資訊