2012-06-01 70 views
0

使用Ubuntu 12交叉編譯arm代碼提供了2個gcc版本,4.5和4.6。安裝兩者都會創建從工具到4.6版本的符號鏈接(例如,arm-linux-gnueabi-gcc - > arm-linux-gnueabi-gcc-4.6)。是否有一種簡單的方法可以從例如來回切換gcc符號鏈接到4.5或4.6?我可以編寫破解符號鏈接的腳本,但我希望有一種Ubuntu方法可以實現這一點。 謝謝!如何在Ubuntu中使用4.5和4.6版本的arm gcc?

回答

1

alternatives system允許你有一個符號鏈接,你可以任意擺動。

+0

替代方案看起來很有趣,但這些Ubuntu pkgs不是使用它構建的。查看/ usr/bin/arm-linux-gnueabi-gcc,它是/usr/bin/arm-linux-gnueabi-gcc-4.6的直接符號鏈接,而不是/ etc/alternatives,因爲pkg似乎需要這些替代。 – csd

+0

你可以隨時提供你自己的。 –

+0

同意。但我尋找的原因是本地的,所以它不會破壞pkgs的升級。但絕對如果我找不到本機選項,那麼這是看起來下一個最好的 – csd

0

一個更好的和更清潔的方式恕我直言(及正是我這樣做)是:

  1. 獲得存檔版本,(不要使用apt)
  2. 在你的家或/ usr /股解壓
  3. 在創建一些別名,你的〜/ .bashrc像

    alias sourcery2009 = 'CROSS_COMPILE=/usr/share/arm-2009q3/bin/arm-none-eabi-' 
    alias sourcery2010 = 'CROSS_COMPILE=/usr/share/arm-2010q1/bin/arm-none-eabi-' 
    
  4. 在編譯(linux)時,使用make zImage sourcery2009,這個步驟根據你正在編譯的項目以及他們如何獲得你想要它們使用的工具鏈的位置/前綴而有很大的不同。對於許多使用簡單makefile的項目,必須在makefile中進行編輯以更改路徑或使其將工具鏈路徑作爲參數。