Linux C/C++無ide下的編譯工具的使用

先做一個簡單的測試工程描述,其目錄和文件結構如下所述:工程的最高層目錄test中有一個hello.c文件和lib、include兩個子目錄。在lib目錄中有一個print.c文件,在include目錄中有一個print.h文件。

  (1)爲該工程編寫automake的輸入配置腳本Makefile.am,configure.ac 

  (2)使用GnuAutotools工具爲該工程創建Makefile文件,並編譯該工程。

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

1.Test4文件夾初始狀態如下:

其中寫好的hello.c    print.h     print.c  如下






2.安裝autoconf等一系列工具



3.運行autoscan命令,來根據目錄下的源代碼先生成一個configure.in 的“模板文件”。


4.將configure.scan 改名爲configure.in ,並且編輯它。並且按需要修改添加成如下:




5.分別執行aclocal 和 autoconf 命令,分別生成aclocal.m4 文件和configure文件



6.新建一個文件Makefile.am(用gedit 或vi等工具),內容如下



7.autoheader命令生成config.h.in,config.h.in用來幫助autoconf生成config.h,config.h給程序使用


//其實第6,7 個步驟應該換過來也行。


8.根據上面的Makefile.Am運行automake 來生成我們想要的Makefile.in

有一些必需的腳本文件,如“install-sh”、“missing”等,可以從automake軟件包裏複製過來,只需在執行時使用“--add-missing”選項即可。


看,可愛的Makefile.in 就生成了


9. 在終端中輸入“./configure”並回車執行,就是執行第5步生成的configure配置腳本,該腳本根據第7步生成的config.h.in和第8步生成的Makefile.in的內容來生成Makefile文件。


到此,即生成了我們比較熟悉的Makefile文件,因爲假如工程小的話,完全可以自己編寫Makefile文件,無需用這之前的一連串的autotools的工具自動生成Makefile,如下


有了Makefile就能編譯代碼了


10. 利用make 命令即可生成目標程序。

利用make install命令,安裝程序到本機器上。

 

make clean清理之前便已生成的可執行文件及目標文件。 

利用 make dist命令,可將程序和相關文檔打包爲一個 tar.gz的文件,便於發佈。再另外的機器上解壓,利用configure ,make,make install三部曲即可完成安裝。

執行編譯出來的hello 可執行程序




-,-過程實在是多,相信記錄下來,以後會用的着的。

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