91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-10-25 15:40:11 來源:億速云 閱讀:400 作者:小新 欄目:系統運維

這篇文章主要為大家展示了“linux中怎么用autoscan和automake由makefile.am自動生成makefile”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“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”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

清水河县| 博野县| 资兴市| 开封县| 宜都市| 弥勒县| 海原县| 石泉县| 札达县| 桑日县| 长丰县| 高邮市| 阜宁县| 宣汉县| 邯郸县| 新野县| 甘肃省| 桐柏县| 民勤县| 海兴县| 讷河市| 南平市| 寻乌县| 恩平市| 随州市| 济宁市| 遂宁市| 湘阴县| 大安市| 武汉市| 崇左市| 仲巴县| 弋阳县| 屏东市| 白银市| 宜章县| 化隆| 开原市| 秦皇岛市| 松潘县| 威海市|