久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

linux中怎么用autoscan和automake由makefile.am自動生成makefile

143次閱讀
沒有評論

共計 2636 個字符,預計需要花費 7 分鐘才能閱讀完成。

行業資訊    
服務器    
系統運維    
linux 中怎么用 autoscan 和 automake 由 makefile.am 自動生成 makefile

自動寫代碼機器人,免費開通

這篇文章主要為大家展示了“linux 中怎么用 autoscan 和 automake 由 makefile.am 自動生成 makefile”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領大家一起研究并學習一下“linux 中怎么用 autoscan 和 automake 由 makefile.am 自動生成 makefile”這篇文章吧。

如何使用 autoconf 和 automake 兩個工具來幫助我們自動地生成符合自由軟件慣例的 Makefile,這樣就可以象常見的 GNU 程序一樣,只要使用“./configure”,“make”,“make instal”就可以把程序安裝到 Linux 系統中去了。

* 在開始使用 autoconf 和 automake 之前,首先確認你的系統安裝有 GNU 的如下軟件:
1. automake
   2. autoconf
   3. m4
   4. perl
   5. 如果你需要產生共享庫(shared library)則還需要 GNU Libtool。

* 介紹方法之前,大家先記下 autoconf 和 automake 工作的幾個步驟,步驟解釋如下:

1、由你的源文件通過 autoscanf 命令生成 configure.scan 文件,然后修改

configure.scan 文件并重命名為 configure.in
   2、由 aclocal 命令生成 aclocal.m4
   3、由 autoconf 命令生成 configure

注:很重要!

如果這里緊接著直接進行第 4 步:

automake –add-missing: 后會出現錯誤:configure.in:8:required file

  `./config.h.in not found

緊接著./configure 后會出現 config.status: error: cannot find input file:

config.h

解決辦法:在 automake –add-missing 之前執行 autoheader 就 ok 了,一般網上的資料

很少有人提到這一步,大家也都是轉來轉去,所有會導致錯誤的發生。

4、編輯一個 Makefile.am 文件并由 automake(automake –add-missing)命令生成

  Makefile.in 文件
   5、./configure 命令生成 Makefile    (后面有命令介紹)

實戰:我的源程序結構如下:總共兩個目錄:viaencode/、videolib/,
viaencode/ 下有兩個源文件和一個 makefile.am 文件:encodeapi.c  、viaenc.c、Makefile.am
videolib/ 下有四個頭文件:MP4EncApi.h、hw_lib.h、ViaApi.h、itu.h,以及六個.a 庫文件:libext_device_ctrl.a、libhwdec.a、libhwenc.a、libitu.a、libuserdev.a、libvia.a。生成目標程序 viaenc 要下載到開板中運行。

    按照如下步驟來自動生成 Makefile 吧:
1、進入 viaencode/ 目錄,運行 autoscan 命令,命令如下:
# cd viaencode/
# autoscan
2、ls 會發現多了一個 configure.scan 文件。修改此文件,在 AC_INIT 宏之后加入 AM_INIT_AUTOMAKE(viaenc, 1.0),這里 hello 是你的軟件名稱,1.0 是版本號,即你的這些源程序編譯將生成一個軟件 viaenc-1.0 版。“然后把 configure.scan 文件的最后一行 AC_OUTPUT 宏填寫完整變成 AC_OUTPUT(Makefile),表明 autoconf 和 automake 最終將生成 Makefile 文件”,這樣的話會出錯,因為之前有一句 AC_CONFIG_FILES([Makefile]), 所以我沒變。最后把 configure.scan 文件改名為 configure.in。
3、運行 aclocal 命令,ls 會發現多了一個 aclocal.m4 文件。
4、然后運行 autoconf 命令,ls 將發現生成了一個可執行的 configure 命令。

5、執行 autoheader,前面已講過。

6、編輯一個 Makefile.am 文件,已有,文件內容如下:
   bin_PROGRAMS = viaenc
   viaenc_SOURCES = viaenc.c encodeapi.c
   AM_CFLAGS = -I../videolib
   LDADD = -L../videolib -lvia -litu -lhwdec -lext_device_ctrl -lhwenc –     lpthread -luserdev
7、運行 automake –add-missing 命令。屏幕提示如下:
automake: configure.in: installing `./install-sh
automake: configure.in: installing `./mkinstalldirs
automake: configure.in: installing `./missing
8、運行 configure 命令來生成一個 Makefile 文件,輸入./configure 命令即可        9、因為應用程序是要下載到開發版中運行,所以必須修改交叉編譯工具。修改 Makefile 中的 CC = gcc,改為指向自己的交叉編譯工具,CC=/usr/local/arm/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-gcc。否則會出錯!!!

運用 autoconf 和 automake 的最大好處是,你的程序以源程序方式發布后,其它所有人只需要依次輸入./configure,make,make install 命令就可以把你的程序安裝在自己的電腦上運行了。所有符合 GNU 標準的 UNIX/Linux 都不需要再修改 Makefile 里的任何字符。

以上是“linux 中怎么用 autoscan 和 automake 由 makefile.am 自動生成 makefile”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

向 AI 問一下細節

丸趣 TV 網 – 提供最優質的資源集合!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-07發表,共計2636字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 如东县| 包头市| 卓尼县| 漯河市| 阳城县| 邢台市| 读书| 洛隆县| 毕节市| 临海市| 宁城县| 达孜县| 洪泽县| 札达县| 绥中县| 平武县| 阿尔山市| 玉林市| 大港区| 仙游县| 美姑县| 建湖县| 东明县| 阳江市| 鲜城| 霸州市| 吴桥县| 普兰县| 剑川县| 安顺市| 济源市| 三门县| 廊坊市| 鄂温| 镇雄县| 偏关县| 湘乡市| 巴林右旗| 横山县| 蓝山县| 镇赉县|