組裝的時候,常常缺東缺西的。這時候就需要cross-compile一些套件頂一下,所以如果有人組裝過的話,應該會對下面的命令倍感親切。
| 1
 |  | 
--target和--build的參數似乎和這個有關。找時間稍微了解一下對於–target目前手上的資料無法讓我完全理解,請注意!
根據Autoconf手冊說明,這些參數的預設值如下:
- --build- 從config.guess中猜的
 
- --host- 設成和--build相同
 
- 設成和
- --target- 設成和--host相同
 
- 設成和
--host後麻煩不要省掉--build,不然autotool會把build設成和host一樣。Automake手冊裏面的定義
- --build- 你build code,下xxx-gcc那台機器平台
 
- --host- 產生的binary可以執行的平台
 
- --target- 告訴gcc要產生什麼平台的機械碼
- 一般來說會和--host一樣同樣的平台,根據上面的連動,你設了--host就可以省略這個選項
- 特例是compile cross-compiler或是binutils,toolchain。這時候是指定build在host上,但是處理的對象是cross platform的機械碼
 
- 一般來說會和
 
- 告訴gcc要產生什麼平台的機械碼
- --host和- --build相同- 用你電腦上的gcc,來編譯autotool的套件。
 
- --host和- --build不同- 你要自備cross-compiler
- 如果有指定--target的為gcc的prefix
- 如--host=xxx,--target=zzz,會使用zzz-gcc產生xxx平台的機械碼
- 用該cross-compiler來編譯autotool的套件
- 這時候要保證cross compiler可以吃的library也存在,常常會為了編一個套件cross compile一堆套件
 
--host指定和你現在的平台不同就好。 
沒有留言:
張貼留言