C 編譯多個檔案makefile

2021-06-12 07:39:52 字數 926 閱讀 1638

逐步編譯:

g++ -c apcluster.cppapcluster.h //生成apcluster.o 中間檔案

g++ -c example.cppapcluster.h 

//生成example.o中間檔案

g++ -o main apcluster.o example.o

makefile:

gnu的make很強大,它可以自動推導檔案以及檔案依賴關係後面的命令,上面編譯對應的makefile如下:

main: apcluster.oexample.o 

//main為最終可執行檔案

g++ -o main apcluster.o example.o //或者g++apcluster.o example.o-omain應該也行

apcluster.o :apcluster.cppapcluster.h 

//定義依賴關係

g++ -c apcluster.cppapcluster.h 

//如何生成目標檔案的作業系統命令,一定要以乙個tab鍵作為開頭, //-

c只啟用預處理,編譯,和彙編,也就是他只把程式做成obj檔案*.o

example.o: example.cpp apcluster.h

g++ -c example.cppapcluster.h 

可以不要,因為上句已經指明,會自動鏈結

clean: 

//定義makeclean指令

rm main apcluster.o example.o

我們可以把這個內容儲存在名字為「makefile」或「makefile」的檔案中,然後在該目錄下直接輸入命令「make」就可以生成執行檔案edit。如果要刪除執行檔案和所有的中間目標檔案,那麼,只要簡單地執行一下「make clean」就可以了。

Makefile高階技巧多個檔案編譯

includes i home linux i i usr include 新增鏈結的標頭檔案所在目錄 ext cc opts dext mode rtm cc opts duse rtmodel 定義巨集 cflags o cflags ext cc opts cflags rtm cc opts...

多個原始檔進行編譯,即 makefile 的編寫

makefile的好處是防止原始檔的重複編譯 比如有好多個原始檔,某天對其中乙個原始檔進行修改,如果不寫makefile的話,需要將整個工程的所有檔案重新編譯一遍,非常麻煩,有了makefile,說明了每個原始檔的依附關係,當某個原始檔改變的時候只需重新編譯一下關聯的原始檔就好。例如 有以下檔案 o...

C 編譯多個檔案示例

複雜的 原始檔一般有多個,呼叫的函式位於不同檔案中,這個時候需要同時進行編譯,不然就會丟擲錯誤。另外在呼叫之前需要提前宣告。檔案1 mult main.cpp include 演示編譯多個檔案,函式體在其他檔案中 需要提前宣告 int add int x,int y int main when th...