linux下實現g++編譯鏈接c++源文件和頭文件

最基本的編譯文件方法

g++ -c xxx.cpp -o xxx

./xxx

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很強大,它可以自動推導文件以及文件依賴關係後面的命令,上面編譯對應的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    //APCluster.h可以不要,因爲上句已經指明,會自動鏈接

clean:                             //定義makeclean指令
 rm main APCluster.o example.o

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章