[技術] GNU的configure的build、host和target的差別

Written on 2:28 上午 by Yu Lai

相信有編過cross-platform的程式的人,
多多少少會遇到設定這三個參數的時候,
今天正好在編GDB,也就對這3個參數研究了一下。

其實心得可以用一句話來形容這3個:
"讓套件在build下編好,使之在host中執行的target平台版本。"

也就是說:
1. build就是你編這個套件的環境。
通常可以不用設,讓configure自己猜。

2. host就是這個套件的執行環境。
這個通常配cross-compile來編在不同平台執行的套件。
e.g. 要編出在mips-linux下執行的net-snmp套件
./configure --host=mips-linux --prefix=blahblah

3. target是指套件內容的版本或產出物版本。
這個常用於GNU的gcc或binutils等支援不同平台的套件。
e.g. 要編出一個在x86下執行的arm-elf格式的gcc
./configure --host=i686-pc-linux-gnu --target=arm-elf --prefix=blahblah

參考資料: http://www.airs.com/ian/configure/configure_5.html

If you enjoyed this post Subscribe to our feed

No Comment

張貼留言