編譯多個檔案

2022-07-16 01:15:17 字數 582 閱讀 7727

假設我們寫了乙個foo.h的標頭檔案,如下:

#ifndef foo_h

#define foo_h

namespace m1

#endif

#include

#include "foo.h"//這裡一定要打雙引號,因為它不是標準標頭檔案。

void m1::foo()

最後,我們在寫乙個main.c檔案來呼叫它:

#include

#include "foo.h"

void foo ()//這裡我們在主函式也寫了乙個同名字的foo函式,我們編譯的時候會不會因為名字相同報錯呢,我們在主函式呼叫試試。

int main ()

最後我們編譯,首先應該:

gcc -c foo.c

gcc -c main.c

這樣生成對應的目標檔案,最後一步就是:

gcc main.o foo.o -o test

生成可執行檔案test,然後執行結果如下:

hello, world

hello, world!

由於瀏覽器的問題,我的截圖傳不上來,就是手打了執行結果。

CMAKE學習 編譯多個檔案 多個目錄

大型工程會有很多檔案,包括類的實現和定義,各種不同的模組交叉在一起,我們怎麼用cmake方便的編譯呢?例如有這麼乙個工程 我們現在想要編譯的話,如果只選擇了main.cpp,則會提示 未定義的引用 因為我們標頭檔案和實現分離,但我們只包含了標頭檔案,所以是一定找不到實現的。我們這時候就要把所有原始檔...

linux下編譯多個檔案

例如 home files資料夾下有檔案main.c home files common資料夾下有檔案tou.h和shixian.c。tou.h為 若有多個shixian檔案,比如shixian1.c,shixian2.c,都可以在tou.h中用extern宣告出來。shixian.c為 編譯時用命...

gcc 編譯多個原始檔

一.常用編譯命令選項 假設源程式檔名為test.c。3.選項 e 用法 gcc e test.c o test.i 作用 將test.c預處理輸出test.i檔案。4.選項 s 用法 gcc s test.i 作用 將預處理輸出檔案test.i彙編成test.s檔案。5.選項 c 用法 gcc c ...