天天看點

windows指令行(或linux)下用gcc/g++編譯多個c/cpp檔案

        最近一直強迫自己用指令行的方式來編譯連接配接運作檔案,當然這個在單個檔案的情況下還是很好搞定的嘛。。。

不過在開始學會把一個程式分成幾個檔案後(有頭檔案之類的和其他的幾個c/cpp檔案),不知道怎麼編譯運作就是個問題了,而且會出現一些常見錯誤。

       下面主要介紹下常用的方式:

        單個檔案的情況:

        g++  filename.cpp

        這是最簡單的形式,linux下預設輸出是a.out(windows下預設是a.exe),另外可以用 -o 指令指定輸出名,指令形式如下:

        g++   filename.cpp  -o  filename

        多個檔案的情況(假定有2個檔案檔案分别是1.cpp和2.cpp):

        第一種方法

        g++  -c  1.cpp  -o  1.o

        g++  -c  2.cpp  -o  2.o

        g++  1.o  2.o  -o prog  (或者linux下輸入g++  1.o  2.o  -o prog.out )

        第二種方法

        單個檔案一般用g++  -o  filename  filename.cpp

        多個檔案時用   g++  -o  file  file1.cpp   file2.cpp  ...

        注意:gcc可以用來編譯連結.c源程式,gcc同樣可以編譯.cpp檔案,但是不能連結.cpp檔案生成可執行檔案。隻有g++可以編譯并且連結.cpp,g++在編譯.cpp檔案的時候自動調用gcc進行源檔案的編譯。

      當然上面的使用方式具體選擇哪個就看個人喜好了。

      更多相關資訊可參考如下的文章:

       gcc/g++執行的步驟及參數簡介

       linux下編譯器gcc/g++編譯步驟

繼續閱讀