Analytics

2009年11月13日 星期五

cross compiler為何要放在/urs/local/arm/內?

之前為了在同一台電腦上安裝多個coss compiler搞得暈頭轉向@@
如果說電腦只有一個cross compiler的話,那大可以利用修改/root/.bashrc這個檔案的方式
指定cross compiler的路徑

但如果同時要安裝多個compiler的話呢?


則可以利用export的指令在每次使用cross compiler前指定
例如:
GCC 3.3.2:
$ export PATH=/usr/local/arm/3.3.2/bin:$PATH
GCC 3.4.1:
$ export PATH=/usr/local/arm/3.4.1/bin:$PATH
GCC 4.0.3:
$ export PATH=/usr/local/arm/4.0.3/bin:$PATH
GCC 4.2.2:
$ export PATH=/usr/local/arm/4.2.2-eabi/usr/bin:\
 /usr/local/arm/4.2.2-eabi/bin:$PATH
GCC 4.3.2
export PATH=$PATH:/usr/local/arm/4.3.2/bin:$PATH

原因如下(此為長高科技工程人員給我的答案):
在製作 cross compiler 時,會指定 prefix 參數,
也就是為什麼多數的 cross compiler 必須放在「固定」、「既定」的目錄裡,例如我們(長高)提供的 cross compiler 必須放在 /usr/local/arm 路徑裡。

否則的話,平常編譯一些application沒有問題
但是若是編譯kernel的話...
我猜啦...我說我猜喔...
應該是在Makefile或是.kconfigure之類的檔案有設定路徑
所以會造成無法編譯過

沒有留言:

張貼留言