configure,host,編譯


./configure -build,-host,-target設置

build:執行代碼編譯的主機,正常的話就是你的主機系統。這個參數一般由config.guess來猜就可以。當然自己指定也可以。
host:編譯出來的二進制程序所執行的主機,因爲絕大多數是如果本機編譯,本機執行。所以這個值就等於build。只有交叉編譯的時候(也就是本機編譯,其他系統機器執行)纔會build和host不同。用host指定運行主機。
target:這個選項只有在建立交叉編譯環境的時候用到,正常編譯和交叉編譯都不會用到。他用build主機上的編譯器,編譯一個新的編譯器(
binutils, gcc,gdb等),這個新的編譯器將來編譯出來的其他程序將運行在target指定的系統上。
讓我們以編譯binutils爲例:
1. `./configure --build=mipsel-linux --host=mipsel-linux --target=mipsel-linux' 
說明我們利用
mipsel-linux的編譯器對binutils進行編譯,編譯出來的binutils運行在mipsel-linux,這個binutils用來編譯能夠在mipsel-linux運行的代碼。“當然沒有人會用這個選項來編譯binutils”
2. `./configure --build=i386-linux --host=mipsel-linux
--target=mipsel-linux' will cross-build native mipsel-linux binutils oni386-linux.

說明我們利用i386-linux的編譯器對binutils進行編譯,編譯出來的binutils運行在mipsel-linux,這個binutils用來編譯能夠在mipsel-linux運行的代碼。“這個選項可以用來爲其他的機器編譯它的編譯器”。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章