Re: 一些cross compiler的心得

看板LinuxDev作者 (澎湖.仙人掌.234)時間17年前 (2007/04/23 05:52), 編輯推噓2(204)
留言6則, 1人參與, 最新討論串2/2 (看更多)
zxvf大,可以請教一下 您的系統環境如何 我最近一直裝,都裝不成功 我在網路上參考了好幾篇的安裝教學 老是安裝到一半就結束了 不曉得到底是錯在哪 謝謝 ※ 引述《zxvc (zxvc)》之銘言: : 我算是業餘在研究cross compiler的人, : 我覺得研究這些東西雖然有時後滿難的,但試成功了就滿有成就感的. : 在這裡分享一下我的一些寶貴經驗,以便後來的新手不必走許多冤枉路: : 如果你在編GCC時出現類似這個錯誤: : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : /home/user/gcc-build/gcc/xgcc : -B/home/user/gcc-build/gcc/ : -B/usr/arm/badpath/arm-unknown-linux-gnu/bin/ : -B/usr/arm/badpath/arm-unknown-linux-gnu/lib/ : -isystem /usr/arm/badpath/arm-unknown-linux-gnu/include : /tmp/ccJfUj2U.s: Assembler messages: : ... : make[1]: *** [crtbegin.o] Error 1 : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : 這是因為你在./configure的時後所下的參數會導致 : 組譯過程會去找$prefix/$target/bin底下的ld, as, ...的binutils來用. : 若$prefix/$target/bin找不到binutils,就會使用你目前系統上的binutils來用. : 如果你系統上的binutils是for x86, : 那麼它便不會認得for non-x86(例如ARM)的instruction,導致assemble錯誤. : 所以解決的方法就是請你檢查gcc的./configure的--prefix與--target設定, : 是否在$prefix/$target/bin確實是放置著cross binutils. : 例如上述範例 : --prefix=/usr/arm/badpath --target=arm-unknown-linux-gnu : 如果cross binutils裝在/usr/arm/arm-unknown-linux-gnu/bin, : 那麼prefix便要修正為: : --prefix=/usr/arm --target=arm-unknown-linux-gnu : 參考資料: : http://sourceware.org/ml/crossgcc/2002-01/msg00074.html : 改天有空再講cross gcc + uClibc shared library + skyeye的經驗. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.181.9

04/23 07:48, , 1F
我的 ID 是 zxvc XD
04/23 07:48, 1F

04/23 07:48, , 2F
我都是在 Ubuntu 上編譯toolchain。
04/23 07:48, 2F

04/23 07:48, , 3F
我用的系統是 Athlon XP 2600+ & Ubuntu 7.04
04/23 07:48, 3F

04/23 07:49, , 4F
與 Pentium 4 M & Ubuntu 6.06
04/23 07:49, 4F

04/23 07:55, , 5F
native gcc 分別是 4.1.2 與 4.0.3
04/23 07:55, 5F

04/23 08:00, , 6F
把你下的參數貼出來,也許會有人幫你解答。或者搜google。
04/23 08:00, 6F
文章代碼(AID): #16AzafqL (LinuxDev)
文章代碼(AID): #16AzafqL (LinuxDev)