當前位置:首頁 » 編程軟體 » configure腳本

configure腳本

發布時間: 2022-08-03 11:32:54

⑴ 運行在linux常用的configure腳本時,使用哪個參數可以停用soname功能

下面對每一個選項進行簡略的介紹:
--cache-file=FILE

'configure'會在你的系統上測試存在的特性(或者bug!)。為了加速隨後進行的配置,測試的結果會存儲在一個cache
file里。當configure一個每個子樹里都有'configure'腳本的復雜的源碼樹時,一個很好的cache file的存在會有很大幫助。

--help

輸出幫助信息。即使是有經驗的用戶也偶爾需要使用使用'--help'選項,因為一個復雜的項目會包含附加的選項。例如,GCC包里的'configure'腳本就包含了允許你控制是否生成和在GCC中使用GNU匯編器的選項。

--no-create

'configure'中的一個主要函數會製作輸出文件。此選項阻止'configure'生成這個文件。你可以認為這是一種演習(dry run),盡管緩存(cache)仍然被改寫了。

--quiet

--silent

當'configure'進行他的測試時,會輸出簡要的信息來告訴用戶正在作什麼。這樣作是因為'configure'可能會比較慢,沒有
這種輸出的話用戶將會被扔在一旁疑惑正在發生什麼,使用這兩個選項中的任何一個都會把你扔到一旁。(譯註:這兩句話比較有意思,原文是這樣的:If
there was no such output, the user would be left wondering what is
happening. By using this option, you too can be left wondering!)

--version

列印用來產生'configure'腳本的Autoconf的版本號。

--prefix=PEWFIX

'--prefix'是最常用的選項。製作出的'Makefile'會查看隨此選項傳遞的參數,當一個包在安裝時可以徹底的重新安置他的結
構獨立部分。舉一個例子,當安裝一個包,例如說Emacs,下面的命令將會使Emacs Lisp file被安裝到"/opt/gnu/share":

$ ./configure --prefix=/opt/gnu

--exec-prefix=EPREFIX

與'--prefix'選項類似,但是他是用來設置結構倚賴的文件的安裝位置,編譯好的'emacs'二進制文件就是這樣一個問件。如果沒有設置這個選項的話,默認使用的選項值將被設為和'--prefix'選項值一樣。

--bindir=DIR

指定二進制文件的安裝位置,這里的二進制文件定義為可以被用戶直接執行的程序。

--sbindir=DIR

指定超級二進制文件的安裝位置。這是一些通常只能由超級用戶執行的程序。

--libexecdir=DIR

指定可執行支持文件的安裝位置。與二進制文件相反,這些文件從來不直接由用戶執行,但是可以被上面提到的二進制文件所執行。

--datadir=DIR

指定通用數據文件的安裝位置。

--sysconfdir=DIR

指定在單個機器上使用的只讀數據的安裝位置。

--sharedstatedir=DIR

指定可以在多個機器上共享的可寫數據的安裝位置。

--localstatedir=DIR

指定只能單機使用的可寫數據的安裝位置。

--libdir=DIR

指定庫文件的安裝位置。

--includedir=DIR

指定C頭文件的安裝位置。其他語言如C++的頭文件也可以使用此選項。

--oldincludedir=DIR

指定為除GCC外編譯器安裝的C頭文件的安裝位置。

--infodir=DIR

指定Info格式文檔的安裝位置.Info是被GNU工程所使用的文檔格式。

--mandir=DIR

指定手冊頁的安裝位置。

--srcdir=DIR

這個選項對安裝沒有作用,他會告訴'configure'源碼的位置。一般來說不用指定此選項,因為'configure'腳本一般和源碼文件在同一個目錄下。

--program-prefix=PREFIX

指定將被加到所安裝程序的名字上的前綴。例如,使用'--program-prefix=g'來configure一個名為'tar'的程序將會使
安裝的程序被命名為'gtar'。當和其他的安裝選項一起使用時,這個選項只有當他被`Makefile.in'文件使用時才會工作。

--program-suffix=SUFFIX

指定將被加到所安裝程序的名字上的後綴。

--program-transform-name=PROGRAM

這里的PROGRAM是一個sed腳本。當一個程序被安裝時,他的名字將經過`sed -e PROGRAM'來產生安裝的名字。

--build=BUILD

指定軟體包安裝的系統平台。如果沒有指定,默認值將是'--host'選項的值。

--host=HOST

指定軟體運行的系統平台。如果沒有指定。將會運行`config.guess'來檢測。

--target=GARGET

指定軟體面向(target to)的系統平台。這主要在程序語言工具如編譯器和匯編器上下文中起作用。如果沒有指定,默認將使用'--host'選項的值。

--disable-FEATURE

一些軟體包可以選擇這個選項來提供為大型選項的編譯時配置,例如使用Kerberos認證系統或者一個實驗性的編譯器最優配置。如果默認是提供這些特性,可以使用'--disable-FEATURE'來禁用它,這里'FEATURE'是特性的名字,例如:

$ ./configure --disable-gui

-enable-FEATURE[=ARG]

相反的,一些軟體包可能提供了一些默認被禁止的特性,可以使用'--enable-FEATURE'來起用它。這里'FEATURE'是特性的名字。一個特性可能會接受一個可選的參數。例如:

$ ./configure --enable-buffers=128

`--enable-FEATURE=no'與上面提到的'--disable-FEATURE'是同義的。

--with-PACKAGE[=ARG]

在自由軟體社區里,有使用已有軟體包和庫的優秀傳統。當用'configure'來配置一個源碼樹時,可以提供其他已經安裝的軟體包的信息。例如,
倚賴於Tcl和Tk的BLT器件工具包。要配置BLT,可能需要給'configure'提供一些關於我們把Tcl和Tk裝的何處的信息:

$ ./configure --with-tcl=/usr/local --with-tk=/usr/local

'--with-PACKAGE=no'與下面將提到的'--without-PACKAGE'是同義的。

--without-PACKAGE

有時候你可能不想讓你的軟體包與系統已有的軟體包交互。例如,你可能不想讓你的新編譯器使用GNU ld。通過使用這個選項可以做到這一點:

$ ./configure --without-gnu-ld

--x-includes=DIR

這個選項是'--with-PACKAGE'選項的一個特例。在Autoconf最初被開發出來時,流行使用'configure'來作為
Imake的一個變通方法來製作運行於X的軟體。'--x-includes'選項提供了向'configure'腳本指明包含X11頭文件的目錄的方
法。

--x-libraries=DIR

類似的,'--x-libraries'選項提供了向'configure'腳本指明包含X11庫的目錄的方法。

⑵ Linux系統中如何執行「./configure」命令

1、打開終端輸入一下的命令$crontab -e。


(2)configure腳本擴展閱讀

configure'腳本有大量的命令行選項.對不同的軟體包來說,這些選項可能會有變化,但是許多基本的選項是不會改變的.帶上'-- help'選項執行'configure'腳本可以看到可用的所有選項。

盡管許多選項是很少用到的,但是當你為了特殊的需求而configure一個包時,知道他們的存在是很有益處的.下面對每一個選項進行簡略的介紹:

cache-file=FILE

'configure'會在你的系統上測試存在的特性(或者bug!).為了加速隨後進行的配置,測試的結果會存儲在一個cache file里.當configure一個每個子樹里都有'configure'腳本的復雜的源碼樹時,一個很好的cache file的存在會有很大幫助。

help

輸出幫助信息.即使是有經驗的用戶也偶爾需要使用使用'--help'選項,因為一個復雜的項目會包含附加的選項。例如,GCC包里的'configure'腳本就包含了允許你控制是否生成和在GCC中使用GNU匯編器的選項。

no-create

'configure'中的一個主要函數會製作輸出文件。此選項阻止'configure'生成這個文件.你可以認為這是一種演習(dry run),盡管緩存(cache)仍然被改寫了。

quiet/--silent

當'configure'進行他的測試時,會輸出簡要的信息來告訴用戶正在作什麼。這樣作是因為'configure'可能會比較慢,沒有這種輸出的話用戶將會被扔在一旁疑惑正在發生什麼。使用這兩個選項中的任何一個都會把你扔到一旁。

⑶ 如何編譯配置Apache中的Configure

./Configure文件是一個經常被遺忘的Apache工具。本文介紹如何用./Configure進行編譯配置,避免每次編譯Apache時進行重復的操作。文章比較了常規方法與使用./Configure這兩者各自的優缺點以及如何手工編輯配製文件進行編譯配置。 一、優缺點比較 我們知道,配製Apache編譯選項使用的是configure。但除此之外,我們還可以使用Configure。注意兩者的差別:常用的那個配製工具是小寫c開頭的「configure」,這里要討論的「Configure」以大寫的C開頭。 解開Apache源代碼之後,configure腳本位於頂級目錄下面。一般我們按照如下步驟使用它: tar -zvxf apache_1.3.14.tar.gz cd apache_1.3.14 ./configure --prefix=/usr/local/apache make make install Configure是位於src子目錄下的腳本。它的參數不是通過命令行指定,而是在一個名為Configuration的配置文件中指定。Apache提供一個默認的配置模板文件Configuration.tmpl,其中包含了通用的默認配置值。 用Configure進行默認安裝的過程如下: tar -zvxf apache_1.3.14.tar.gz cd apache_1.3.14/src cp -f Configuration.tmpl Configuration vi Configuration ... 如必要,修改默認配置值 ./Configure make make install 缺點 用Configure進行配製有幾個明顯的缺點,至少對初學者來說是這樣的。 首先,這種配製方法並不廣為人知。只要是對開放源代碼軟體有所了解的人,解開源代碼並進入它的目錄之後,或許會對它的configure腳本感到熟悉,但往往不會進入src子目錄去尋找其他什麼東西。 即使知道可以用Configure進行編譯配製,Configuration文件本身也可能成為小小的障礙。這是因為,雖然Configuration文件內部包含的說明相當完善,每一行都有豐富的註解說明其作用,但這個文件實在過於龐大,包含了許多大多數人永遠不想要加以定製的選項。 最後,雖然有關這兩種配製方法差別的資料略顯缺乏,但總地看來初學者最好使用configure,而Configure只適合於經驗豐富的用戶使用。雖然這並不能算是一個真正的缺點,但它無疑使許多用戶駐足而不敢嘗試。 優點 使用Configure進行編譯配製最大的優點在於,它方便了我們將特定的配置信息保存下來以後再用,無需記住冗長的configure命令行選項。 例如,本人上次編譯Apache時使用的configure命令如下: ./configure --prefix=/usr/local/apache --enable-mole=most --enable-shared=max --enable-mole=auth_dbm --enable-mole=auth_mysql 這還應該算是一次比較簡單的編譯。問題在於,即使是輸入上面這行命令,我也要查看各種參數的語法並努力記住各個模塊的名字。對於大多數人來說這並不是一個很重要的問題,但由於我經常要重新構造Apache,這個問題就顯得比較突出了。 configure也有它的好處,它實際上會在src目錄下生成一個配製文件,我們可以保存這個文件供以後參考。這個文件就是src/Configuration.apaci。 如果我們為測試目的構造Apache,完成後又要在正式運行的系統上以完全相同的方式構造Apache,configure的這個功能將是非常有用的。此時,我們只需要復制一份Configuration.apaci文件,將它拷貝到正式運行的伺服器上,然後用這個文件編譯Apache伺服器即可。 應當說明的是,雖然默認情況下配製選項由Configuration文件提供,但我們可以用-file參數指定另外的文件: ./Configure -file Configuration.saved_prefs 二、手工編輯配製文件 以前,指定編譯選項的唯一方法是手工編輯Configuration文件。當然,那時候我們還要步行上學,跋山涉水。這一切現在都已經過去。 不管怎樣,如果你准備直接使用Configuration文件,你就得仔細地了解一下它到底由什麼內容構成。Configuration文件中的大多數選項都是無需定製的,不過了解一下它們的用處是有好處的。 Configuration文件的前面是關於本文件的一個簡短說明。下面摘錄了這部分內容並給出其譯文: # There are 5 types of lines here: 這里共有5種類型的代碼行: # &single;#&single; comments, distinguished by having a &single;#&single; as the first non-blank character 「#」注釋,以第一個非空字元為「#」區別 # # Makefile options, such as CC=gcc, etc... Make文件選項,例如 CC=gcc,等等... # # Rules, distinguished by having "Rule" at the front. These are used to # control Configure&single;s behavior as far as how to create Makefile. 規則,以前面的「Rule」區別,用於控制Configure的行為以至 如何創建Make文件 # # Mole selection lines, distinguished by having &single;AddMole&single; at the front. # These list the configured moles, in priority order (highest priority # last). They&single;re down at the bottom. 模塊選擇行,以前面的「AddMole」區別。這些行以優先順序為序列出 了已經配製的模塊(高優先順序的在後面)。模塊選擇在文件最後進行。 # # Optional mole selection lines, distinguished by having `%Mole&single; # at the front. These specify a mole that is to be compiled in (but # not enabled). The AddMole directive can be used to enable such a # mole. By default no such moles are defined. 可選模塊選擇行,以前面的「%Mole」區別。這些行指定了必須 編譯的模塊(但不啟用)。AddMole指令可以啟用這種模塊。默 認不定義這種模塊。 大多數用戶只需修改模塊選擇行,其他內容只適合於深入了解其含義的用戶進行修改。在文件的最後我們可以發現許多如下形式的行: AddMole moles/standard/mod_cgi.o 它表示本次編譯Apache應啟用指定的模塊(這里是mod_cgi模塊)。我們可以用注釋掉相應行的方法來刪除特定的模塊;反之,如果取消已注釋行的注釋將啟用該模塊。 我們可以通過SharedMole指令(而不是AddMole)將模塊編譯成DSO(共享對象,shared object): SharedMole moles/standard/mod_vhost_alias.so 注意在編譯DSO時必須啟用mod_so模塊。 用configure生成Configuration.apaci文件,然後檢查其改動之處是一種很好的學習方法。 一旦在Configuration文件中完成了所有必須的改動,只需運行./Configure即可開始編譯過程。 三、使用哪種方法好? 顯然,使用configure和使用Configure都有著各自強硬的支持者,但可以相信每一種觀點都有其派別和歷史的原因。 我們建議兩種方法都用。用configure生成Configuration文件,閱讀這些文件了解其作用,然後保存其中的部分文件供以後在Configure命令中使用。 如果你打算只進行默認安裝,而且從來沒有想到過要改變任何一個選項,那麼使用哪一種方法進行配製就無關緊要了

⑷ c程序中的configure腳本有什麼作用

獲取環境信息,檢查依賴庫,生成makefile等
比如各個編譯器的特性該不該用,要不要使用某些庫等
configure只是習慣

⑸ ffmpeg configure 腳本是什麼生成的

NDK全稱:Native Development Kit。

1、NDK是一系列工具的集合。
* NDK提供了一系列的工具,幫助開發者快速開發C(或C++)的動態庫,並能自動將so和java應用一起打包成apk。這些工具對開發者的幫助是巨大的。[1]
* NDK集成了交叉編譯器,並提供了相應的mk文件隔離平台、CPU、API等差異,開發人員只需要簡單修改mk文件(指出「哪些文件需要編譯」、「編譯特性要求
」等),就可以創建出so。
* NDK可以自動地將so和Java應用一起打包,極大地減輕了開發人員的打包工作。
2、NDK提供了一份穩定、功能有限的API頭文件聲明。
Google明確聲明該API是穩定的,在後續所有版本中都穩定支持當前發布的API。從該版本的NDK中看出,這些API支持的功能非常有限,包含有:C標准庫(libc
)、標准數學庫(libm)、壓縮庫(libz)、Log庫(liblog)。
3. 利用ndk編譯ffmpeg
ndk自帶的文檔,其中有一篇STANDALONE-TOOLCHAIN.html,裡面涉及了獨立編譯的方法,

A typical use case if invoking the 'configure' script of an open-source library that expects a cross-compiler in the CC environment variable.
那意思很明顯我們可以用這種獨立編譯方法,編譯一些由『configure』腳本生成的開源庫,這篇介紹了把ndk當成普通編譯工具使用,比我我們在linux使用的gcc命令,其實ndk都為我們提供了,甚至ndk還為我們提供了make工具。

此外你還需要了解configure參數,你可以用./configrue --help ->help.txt 生成幫助文件。我的編譯代碼如下:
./configure \
--logfile=FILE \
--prefix='/home/wangping/source/ffmpeg_ndk/release' \
--enable-gpl \
--enable-version3 \
--enable-nonfree \
--disable-doc \
--disable-programs \
--disable-avdevice \
--enable-small \
--cross-prefix='/home/wangping/arm_android14_toolchain/bin/arm-linux-androideabi-' \
--enable-cross-compile \
--target-os=linux \
--extra-cflags='-I/home/wangping/arm_android14_toolchain/sysroot/usr/include' \
--extra-ldflags='-L/home/wangping/arm_android14_toolchain/sysroot/usr/lib' \
--arch=arm \
--disable-symver \
--disable-debug \
--disable-stripping \
--extra-cflags="-fPIC -DANDROID" \

logfile: 是輸出日誌一的文件名

prifix :在運行make install後,他會相應生成的庫文件,及頭文件拷貝的指定文件夾
cross-prefix:是你編譯工具的前綴

extra-cflags:都是編譯時候的選項,你在裡面要提供頭文件的位子
extra-ldflags:是連接時候的選項,要提供你庫文件的件子
這些配置,你要參考 STANDALONE-TOOLCHAIN.htm ,你還可以自成由發揮,只要正確地指定 gcc,等編譯工具和頭文件以及鏈接庫的位子即可, 比如你可以把extra-cflags和extra-ldflags去掉,而加sysroot先項,configure完成後,就運行make了。

⑹ Linux 下的 make, configure 究竟有多難用

聽過身邊很多個程序員朋友說Linux這個系統慢慢慢慢地就變得不好用了。


所以,在Linux下安裝一個應用程序時,一般需要先運行腳本configure,然後用make來編譯源程序,在運行make install,最後運行make clean刪除一些臨時文件。使用上述三個自動工具,就可以生成configure腳本。運行configure腳本,就可以生成Makefile文件,然後就可以運行make、make install和make clean。操作的復雜,可見一斑。

⑺ 求高手解答:linux系統編譯問題

configure是每個源碼包里自帶的配置腳本,它會自動檢查你的系統是否滿足編譯這個軟體所需要的條件(比如,編譯器是否安裝,用到的頭文件是否有,等等),並進行一些相關配置。
一般來說 ./configure後面帶的參數主要是用來設置編譯和安裝這個軟體時的一些相關參數,如果你不在 ./configure後面提供,那麼編譯、安裝的時候就使用軟體默認的設置。
最常見的參數就是 --prefix,指定安裝軟體的目錄 (如果不指定,應該是默認為 /usr/local)。另外還有一些比方設置庫路徑,文檔安裝路徑等參數 (這些參數一般各個軟體都支持),還有一些是軟體特有的配置參數,比如啟用或者禁用某個特殊的功能等。具體每個軟體的configure腳本支持哪些參數,可以用
./configure --help 的方法來查看。

第二個問題,./configure出錯,一般來說就是你的系統不滿足這個軟體安裝的要求,導致configure腳本檢測出無法正確配置,如我上面說的,比方你沒安裝編譯器或者編譯器版本有問題,或者是缺少某個頭文件,或者是缺少某些庫等等,具體是什麼問題,要看 ./configure 出錯的提示了。

⑻ Linux中的./configure

./configure是源代碼安裝的第一步,主要的作用是對即將安裝的軟體進行配置,檢查當前的環境是否滿足要安裝軟體的依賴關系,但並不是所有的tar包都是源代碼的包,樓主可以ls看看有沒有configure這個文件,也許你下的是二進制的包,如果是二進制的包,解壓後直接就能使用。

具體如下:

1、簡介

Linux操作系統是基於UNIX操作系統發展而來的一種克隆系統,它誕生於1991 年的 [Linux桌面] 10 月5 日(這是第一次正式向外公布的時間)。以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。

2、基本信息

Linux[2]操作系統是UNIX操作系統的一種克隆系統,它誕生linux系統於1991 年的10 月5 日(這是第一次正式向外公布的時間)。以後藉助於Internet網路,並通過全世界各地計算機愛好者的共同努力,已成為今天世界上使用最多的一種UNIX 類操作系統,並且使用人數還在迅猛增長。

3、分區規定

設備管理在 Linux 中,每一個硬體設備都映射到一個系統的文件,對於硬碟、光碟機等,IDE 或 SCSI 設備也不例外。Linux 把各種 IDE 設備分配了一個由 hd 前綴組成的文件;而對於各種 SCSI 設備,則分配了一個由 sd 前綴組成的文件。

熱點內容
sql能力 發布:2025-02-09 10:43:50 瀏覽:982
編譯framework 發布:2025-02-09 10:42:11 瀏覽:382
五子棋對戰演算法 發布:2025-02-09 10:12:19 瀏覽:713
php樹菜單 發布:2025-02-09 10:04:10 瀏覽:360
linux保存ip 發布:2025-02-09 10:04:10 瀏覽:24
四川霜狼伺服器怎麼樣 發布:2025-02-09 10:02:44 瀏覽:146
Vs中h編譯選項是灰的 發布:2025-02-09 10:01:59 瀏覽:558
安卓43怎麼升級44 發布:2025-02-09 09:51:33 瀏覽:464
美國雲伺服器快還是香港快 發布:2025-02-09 09:34:33 瀏覽:989
怎麼解壓qq文件 發布:2025-02-09 09:18:14 瀏覽:581