版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
configure配置安裝詳解
歡迎訪問(wèn)我的博客:http://blog.csdn.net/u010977122/article/details/52959098
****************************************************************************
由于最近項(xiàng)目需要在HMI層生成二維碼,所以去網(wǎng)上找了第三方開源庫(kù)??墒窍螺d下來(lái)里面
都是源碼,沒(méi)有動(dòng)態(tài)庫(kù)或者靜態(tài)庫(kù),所以就需要自己去編譯生成.源碼庫(kù)中只有一個(gè)
configure的可運(yùn)行得配置腳本,之前用過(guò),沒(méi)有詳細(xì)了解,今天去網(wǎng)上查閱資料,以下是
整理的一些心得筆記。
首先讓我們先來(lái)了解一下configure這個(gè)文件的作用。
Linux環(huán)境下的軟件安裝,并不是一件容易的事情;如果通過(guò)源代碼編譯后再安裝,當(dāng)然事
情就更為復(fù)雜一些;現(xiàn)在安裝各種軟件的教程都非常普遍:但萬(wàn)變不離其中,對(duì)基礎(chǔ)知識(shí)的
扎實(shí)掌握,安裝各種軟件的問(wèn)題就迎刃而解了。Configure腳本配置工具就是基礎(chǔ)之一,它
是autoconf的工具的基本應(yīng)用。
configure它是個(gè)shell腳本,主要用于編譯安裝源代碼庫(kù)和軟件。./configure是源代碼
安裝的第一步,主要的作用是對(duì)即將安裝的軟件進(jìn)行配置,比如加上-with、-enable.
-without,-disable等等參數(shù)對(duì)編譯加以控制,檢查當(dāng)前的環(huán)境是否滿足要安裝軟件的
依賴關(guān)系,比如它會(huì)檢測(cè)你是不是有CC或GCC,并不是需要CC或GCC。生成makefile文件,
以便你可以用make和makeinstall來(lái)編譯和安裝程序,最后運(yùn)行makeclean刪除一些臨
時(shí)文件。
首先我們可以使用./configure-help就可以查看到所有的配置選項(xiàng)。下面我們對(duì)一些
重要的常見的進(jìn)行介紹:
Defaultsfortheoptionsarespecifiedinbrackets.
Configuration:
-h,-helpdisplaythishelpandexit
-help=shortdisplayoptionsspecifictothispackage
一help=recursivedisplaytheshorthelpofalltheincluded
packages
-V,-versiondisplayversioninformationandexit
-q,-quiet,—silentdonotprintchecking…'messages
-cache-file=FILEcachetestresultsinFILE[disabled]
-C,-config-cachealiasfor-cache-fi1e=config.cache,
-n,-no-createdonotcreateoutputfiles
-srcdir=D!RfindthesourcesinDIR[configurediror'..,]
Installationdirectories:
-prefix=PREFIXinstallarchitecture-]ndependentfilesin
PREFIX
[/usr/local]
-exec-prefix=EPREFIXinstallarchitecture-dependentfilesin
EPREFIX
[PREFIX]
Bydefault,makeinstalTwillinstallallthefilesin
'/usr/local/bin,,'/usr/local/lib,etc.Youcanspecify
aninstallationprefixotherthan,/usr/local'using'-prefix',
forinstance'-prefix=$HOME,.
Forbettercontrol,usetheoptionsbelow.
Finetuningoftheinstallationdirectories:
-bindir二DIRuserexecutables[EPREFIX/bin]
-sbindir=D!Rsystemadminexecutables[EPREFIX/sbin]
-libexecdir=DIRprogramexecutables[EPREFIX/1ibexec]
一sysconfdir=DIRread-onlysingle-machinedata[PREFIX/etc]
--sharedstatedir=DIRmodifiablearchitecture-independentdata
[PREFIX/com]
-localstatedir=DIRmodifiablesingle-machinedata[PREFIX/var]
—libdir=DIRobjectcodelibraries[EPREFIX/1ib]
--includedir=DIRCheaderfiles[PREFIX/include]
——oldincludedir=DIRCheaderfilesfornon-gcc[/usr/include]
一一datarootdir=DTRread-onlyarch.-ndependentdataroot
[PREFIX/share]
-datadir=DlRread-onlyarchitecture-independentdata
[DATAROOTDIR]
一infodir二DIRinfodocumentation[DATAROOTDIR/info]
-localedir=DTRlocale-dependentdata[DATAROOTDTR/1ocae]
-mandir=DIRmandocumentation[DATAROOTDIR/man]
-docdir=D!Rdocumentationroot
[DATAROOTDIR/doc/qrcncodc]
-htmldir=DIRhtmldocumentation[DOCDIR]
—dvidir=DIRdvidocumentation[DOCDIR]
-pdfdir=DIRpdfdocumentation[DOCDIRJ
-psdir=DIRpsdocumentation[DOCDIR]
Programnames:
-program-prefix=PREFIXprependPREFIXtoinstalled
programnames
-program-suffix=SUFFIXappendSUFFIXtoinstalledprogram
names
一program-1ransform-name=PROGRAMrunsedPROGRAMoninstalled
programnames
Systemtypes:
-build=BUILDconfigureforbuildingonBUILD[guessed]
-host=HOSTcross-compiletobuildprogramstorunonHOS^
[BUILD]
-target=TARGETconfigureforbuildingcompilersforTARGET[HOST]
OptionalFeatures:
--disable-option-checkingignoreunrecognized-enable/―with
options
-disable-FEATUREdonotincludeFEATURE(sameas
一enable-FEATURE二no)
-enable-FEATURE[二ARG]includeFEATURE[ARG=yes]
-enable-silent-ruleslessverbosebuildoutput(undo:"makeV=l")
一disable-silent-rulesverbosebuildoutput(undo:"makeV二0")
-enable-static[=PKGS]buildstaticlibraries[default=no]
-enable-dependency-tracking
donotrejectslowdependencyextractors
-disable-dependency-tracking
speedsupone-tinebuild
-enable-shared[=PKGS]buildsharedlibraries[default=yes]
-enable-fast-install[=PKGS]
optimizeforfastinstallation[default=yes]
-disable-libtool-lockavoidlocking(mightbreakparallelbuilds)
一一enable-thread-safetymakethe1ibrarythread-safe,[default=yes]
-disable-sdltestDonottrytocompileandrunatestSDLprogram
-disable-rpathdonothardcoderuntimelibrarypaths
-enable-gprofgenerateextracodetowriteprofile
information
suitableforgprof[default=no]
-enable-gcovgenerateextracodetowritecoverage
information
suitableforgcov[default=no]
一一enable-mudflapgenerateextracodetocheckmemoryleaks
[default=no]
OptionalPackages:
一with-PACKAGE[二ARG]usePACKAGE[ARG=yes]
--without-PACKAGEdonotusePACKAGE(sameas-with-PACKAGE=no)
-with-pic[=PKGS]trytouseonlyPlC/non-PICobjects
[default=use
both]
-with-gnu-ldassumetheCcompilerusesGNUId[default=no]
-with-sysroot=DTRSearchfordependentlibrarieswithinDTR
(orthecompiler'ssysrootifnotspecified).
-with-toolsbuildutilitytools[default=yes]
-with-testsbuildtests[default=no]
一with-sdl-prefix=PFXPrefixwhereSDLisinstalled(optional;
一with-sdl-exec-prefix=PFXExecprefixwhereSDLisinstalled
(optional)
-with-gnu-ldassumetheCcompilerusesGNUId[default=no]
-with-libiconv-prefix[=DIR]searchforlibiconvinDIR/includeand
DIR/lib
-without-1ibiconv-prefixdon,tsearchfor1ibiconvinincludedir
andlibdir
Someinfluentialenvironmentvariables:
CCCcompilercommand
CFLAGSCcompilerflags
LDFLAGSlinkerflags,e.g.-L<libdir>ifyouhavelibrariesina
nonstandarddirectory<libdir>
LIBSlibrariestopasstothelinker,e.g.-Klibrary>
CPPFLAGS(Objective)C/C++preprocessorflags,e.g.-Kincludedir>
youh£veheadersinanonstandarddirectory<includedir>
CPPCpreprocessor
PKG_CONFIGpathtopkg-configutility
PKGCONFIGPATH
directoriestoaddtopkg-config*ssearchpath
PKG_CONFIG_LIBDIR
pathoverridingpkg-config,sbuilt-insearchpath
pngCFLAGSCcompilerflagsforpng,overridingpkg-config
pngLTBSlinkerflagsforpng,overridingpkg-config
Usethesevariablestooverridethechoicesmadebyconfigure,ortohelp
ittofindlibrariesandprogramswithnonstandardnames/locations.
1、—host=HOST
指定軟件運(yùn)行的系統(tǒng)平臺(tái).如果沒(méi)有指定,將會(huì)運(yùn)行'config,guess'來(lái)檢測(cè).一hosl指定的
是交叉編譯工具鏈的前綴
2、—build=BUILD
指定軟件包安裝的系統(tǒng)平臺(tái),如當(dāng)前我們是在intel的pontium機(jī)器中編譯該系統(tǒng),那么我
們的一build就可能
是i686-pc-linux-gnu,.如果沒(méi)有指定,默認(rèn)值將是‘一host'選項(xiàng)的值.
3、一target二GARGET
指定軟件面向(targetto)的系統(tǒng)平臺(tái).這主要在程序語(yǔ)言工具如編譯器和匯編器上下文中
起作用.如果沒(méi)有指定,默認(rèn)將使用'-host'選項(xiàng)的值.
一般而言,我們只要指定一host就可以了,在一build和--host不同的時(shí)候就被配置文件
認(rèn)定為進(jìn)行交叉編譯,否則就是表示本地編譯。
從這三個(gè)參數(shù)的含義來(lái)看,說(shuō)明其處理的目標(biāo)只有在不同平臺(tái)下表現(xiàn)為不同的時(shí)候才有作用,
而這些文件通常都跟FI標(biāo)平臺(tái)的指令系統(tǒng)直接或間接關(guān):比如可執(zhí)行文件,對(duì)于不同平臺(tái)下
使用的可執(zhí)行文件的編碼可以是完全不同的,因此必須使用對(duì)應(yīng)能處理該編碼的程序才能
正確處理,而如果錯(cuò)誤的使用則可能導(dǎo)致程序錯(cuò)誤或者破壞文件,對(duì)于這樣要處理不同平臺(tái)
下會(huì)出現(xiàn)不同編碼的軟件,我們就應(yīng)當(dāng)對(duì)它指定目標(biāo)平臺(tái),以免另其錯(cuò)誤處理;而對(duì)于文
本文件,對(duì)于不同的平臺(tái)同樣的內(nèi)容表達(dá)的含義都是相同的,因此我們不需要專門針對(duì)平
臺(tái)來(lái)處理,這樣的軟件我們就可以不必對(duì)它指定需要處理的平臺(tái)了。
在交叉編譯之后,可以用file***指令,查看生成的文件的類型,如果不對(duì)的話,就可以
去查看config,log文件,看看有沒(méi)有找到相應(yīng)的編譯工具鏈。
4、-enable-FEATURE[=ARG]
相反的,一些軟件包可能提供了一些默認(rèn)被禁止的特性,訶以使用'一enable-FEATURE'來(lái)起
用它.這里'FEATURE'是特性的名字.一個(gè)特性可能會(huì)接受一個(gè)可選的參數(shù).例如:
$./configure-enab1e-buffers=128
5、'-enable-FEATURE二no'與上面提到的'—disable-FEATURE*是同義的.
一enable-static:生成靜態(tài)鏈接庫(kù)
-enable-shared:生成前態(tài)鏈接庫(kù)
這兩個(gè)用來(lái)選擇生成是靜態(tài)庫(kù)還是動(dòng)態(tài)庫(kù),但是我配置了無(wú)效,具體我也不知道為什么,希
望有了解的不吝賜教。
6、’--with-PACKAGE[=ARG]'
在自由軟件社區(qū)里,有使用己有軟件包和庫(kù)的優(yōu)秀傳統(tǒng).當(dāng)用'configure'來(lái)配置一個(gè)源碼樹
時(shí),可以提供其他已經(jīng)安裝的軟件包的信息.例如,倚賴于Tel和Tk的BLT器件工具包.要配
置BLT,可能需要給'configure'提供一些關(guān)于我們把Tel和Tk裝的何處的信息:
$./configure-with-tcl=/usr/local-with-tk=/usr/local
'-with-PACKAGE二no'
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年西安西北有色物化探總隊(duì)有限公司招聘?jìng)淇碱}庫(kù)含答案詳解
- 養(yǎng)老院環(huán)境衛(wèi)生與消毒制度
- 2026年攀枝花市西區(qū)財(cái)政局關(guān)于面向社會(huì)公開招聘人員的備考題庫(kù)帶答案詳解
- 2026年石晶光電招聘23人備考題庫(kù)附答案詳解
- 2026年航天時(shí)代低空科技有限公司招聘行政人員勞務(wù)派遣崗位備考題庫(kù)及一套完整答案詳解
- 2026年雅安市人民醫(yī)院四川大學(xué)華西醫(yī)院雅安醫(yī)院 小兒外科、健康管理中心醫(yī)師招聘?jìng)淇碱}庫(kù)及一套參考答案詳解
- 天津中醫(yī)藥大學(xué)第二附屬醫(yī)院2026年第一批公開招聘?jìng)淇碱}庫(kù)(博士及高級(jí)職稱醫(yī)療人員)帶答案詳解
- 2026年蘇州交投鑫能交通科技有限公司公開招聘?jìng)淇碱}庫(kù)及答案詳解1套
- 2026年橫琴粵澳深度合作區(qū)首都師范大學(xué)子期實(shí)驗(yàn)小學(xué)招聘?jìng)淇碱}庫(kù)參考答案詳解
- 2026年部分大??蓤?bào)不限專業(yè)武漢大學(xué)人民醫(yī)院招聘7人備考題庫(kù)含答案詳解
- DL∕T5142-2024火力發(fā)電廠除灰設(shè)計(jì)技術(shù)規(guī)程
- 廣東省安裝工程綜合定額(2018)Excel版
- 企業(yè)素質(zhì)提升管理制度
- 制劑室教育培訓(xùn)管理制度
- 2025至2030中國(guó)工業(yè)軟件行業(yè)發(fā)展分析及有效策略與實(shí)施路徑評(píng)估報(bào)告
- 2023年安徽省公務(wù)員錄用考試《專業(yè)科目-財(cái)會(huì)類》真題及答案
- 四川省成都市2023-2024學(xué)年高二上學(xué)期期末考試英語(yǔ)試題 含解析
- T-CCUA 006-2024 信息系統(tǒng)審計(jì)機(jī)構(gòu)服務(wù)能力評(píng)價(jià)
- 魯科版高中化學(xué)選擇性必修第一冊(cè)第2章章末復(fù)習(xí)建構(gòu)課課件
- DL∕T 5210.6-2019 電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程 第6部分:調(diào)整試驗(yàn)
- 2024年安徽省高考地理試卷(真題+答案)
評(píng)論
0/150
提交評(píng)論