Linux下 configure引數詳解

2021-08-04 18:32:03 字數 3660 閱讀 2277

1、tar xvfz jpegsrc.v9a.tar.gz

2、cd jpeg-9a

3、./configure cc=arm-linux-gcc --prefix=/opt/jpeg --exec-prefix=/opt/jpeg/exec --enable-shared --enable-static --host=arm-linux

4、make

5、make install之後會在/opt/jpeg和/opt/jpeg/exec目錄下分別生成include、lib等檔案

6、終於我在編譯camera程式時可以採用這個庫里

arm-linux-gcc camera.c -o camera -lpthread -i/opt/jpeg/include -l/opt/jpeg/exec/lib -ljpeg

這下終於不會因為引用了支援記憶體輸入的jpeg_mem_src而報錯了。

下面是關於configure後面跟的引數的詳細說明

'configure'指令碼有大量的命令列選項.對不同的軟體包來說,這些選項可能會有變化,但是許多基本的選項是不會改變的.帶上'--help'選項執行'configure'指令碼可以看到可用的所有選項.儘管許多選項是很少用到的,但是當你為了特殊的需求而configure乙個包時,知道他們的存在是很有益處的.下面對每乙個選項進行簡略的介紹:

與'--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'是同義的.

$ gtar zxf mmalloc-1.0.tar.gz

$ mkdir build && cd build

$ ../mmalloc-1.0/configure

creating cache ./config.cache

checking for gcc... gcc

checking whether the c compiler (gcc ) works... yes

checking whether the c compiler (gcc ) is a cross-compiler... no

checking whether we are using gnu c... yes

checking whether gcc accepts -g... yes

checking for a bsd compatible install... /usr/bin/install -c

checking host system type... i586-pc-linux-gnu

checking build system type... i586-pc-linux-gnu

checking for ar... ar

checking for ranlib... ranlib

checking how to run the c preprocessor... gcc -e

checking for unistd.h... yes

checking for getpagesize... yes

checking for working mmap... yes

checking for limits.h... yes

checking for stddef.h... yes

updating cache ../config.cache

creating ./config.status

這樣這棵構築樹就被配置了,下面可以繼續構築和安裝這個包到預設的位置'/usr/local':

$ make all && make install

原文  

linux下configure配置引數

1 原始碼安裝一般包括幾個步驟 配置 configure 編譯 make 安裝 make install 2 其中configure是乙個可執行指令碼,在原始碼目錄中執行可以完成自動的配置工作,即.configure。3 在實際的安裝過程中,我們可以增加 prefix引數,這樣可以將要安裝的應用安裝...

configure 常用引數

當我們使用原始碼安裝包來安裝軟體時會執行下面的命令 tar zxvf test.tar.gz cd test configure make make install來完成安裝,但是這遠沒有達到我們配置軟體的目的,這時候就需要在configure中加上一些配置,當然更詳細的設定應該在設定檔中來完成。下...

configure交叉編譯

今天在交叉編譯時犯了乙個錯誤,糾結了好久,曾經交叉編譯器的字首基本上都是用arm linux 這次換了乙個新環境是arm none linux gnueabi 於是想當然的把configure中的host引數設定為 host arm linux,於是就犯了一些錯誤。把它改為 host arm non...