複雜的**原始檔一般有多個,呼叫的函式位於不同檔案中,這個時候需要同時進行編譯,不然就會丟擲錯誤。另外在呼叫之前需要提前宣告。
檔案1 mult_main.cpp:
#include //演示編譯多個檔案,函式體在其他檔案中
//需要提前宣告
int add(int x, int y);
int main()
/*when the compiler compiles a multi-file program, it may compile the files in any order. additionally, it compiles each file individually, with no knowledge of what is in other files.
*/
檔案2 mult_add.cpp:
int add(int x, int y)
執行編譯:
$ g++ mult_main.cpp mult_add.cpp -o mult_main
$./mult_main
the sum of 3 and 4 is: 7
如果單獨編譯檔案1就會丟擲錯誤:
/tmp/cccljbvt.o:在函式『main』中:
mult_main.cpp:(.text+0x2a):對『add(int, int)』未定義的引用
collect2: error: ld returned 1 exit status
C 編譯多個檔案makefile
逐步編譯 g c apcluster.cppapcluster.h 生成apcluster.o 中間檔案 g c example.cppapcluster.h 生成example.o中間檔案 g o main apcluster.o example.o makefile gnu的make很強大,它可...
編譯多個檔案
假設我們寫了乙個foo.h的標頭檔案,如下 ifndef foo h define foo h namespace m1 endif include include foo.h 這裡一定要打雙引號,因為它不是標準標頭檔案。void m1 foo 最後,我們在寫乙個main.c檔案來呼叫它 inclu...
vscode解決多個C 檔案編譯
3 參考 之前幫別人寫c 課設的時候,需要.h和.cpp檔案分開寫,並且涉及多個類,vscode無法完成直接完成,最簡單的解決辦法是新增 cmake tools 外掛程式。微軟官方提供。使用方法都能通過外掛程式提供的鏈結檢視 需要注意的是,使用cmake的時候,只能在工作區的一級目錄下 資料夾 下建...