1. 程式人生 > >linux編譯android時報gcc和g++錯誤問題

linux編譯android時報gcc和g++錯誤問題

Mtk在檢測gcc的時候會存在不相容的情況導致無法檢測到gcc,出現gcc unkown錯誤。gcc nv檢測的時候 做了以下操作(具體程式碼位置參見mediatek/build/tools/checkEnv.py 函式GccCheck。)
首先在指令碼中執行了gcc --v 命令然後在返回的資訊中通過匹配”.*gcc\s*version\s*”格式查詢gcc的版本。由於我們當前的版本是4.6.1 不支援gcc --v, 僅支援gcc -v而中文語言環境下返回的版本資訊中”version”用了中文字元”版本”會導致匹配不成功。因此需要做以下修改

1.降低gcc版本
ubuntu 11.10的gcc
版本是4.6.1gcc版本改為4.4.3。
ubuntu 32bit系統下安裝gcc 4.4:

sudo apt-get install gcc-4.4
sudo apt-get install g++-4.4

裝完後在/usr/bin目錄下
$ ls -l gcc*
lrwxrwxrwx 1 root root      7 2011-10-29 09:11 gcc -> gcc-4.6
-rwxr-xr-x 1 root root 224544 2011-10-06 05:47 gcc-4.4
-rwxr-xr-x 1 root root 302104 2011-09-17 05:43 gcc-4.6

發現gcc

連結到gcc-4.6,  需要將它改為連結到gcc-4.4 :

sudo mv gcc gcc.bak
sudo ln -s gcc-4.4 gcc

同理
ls -l g++*
lrwxrwxrwx 1 root root      7 2011-08-14 15:17 g++ -> g++-4.6
-rwxr-xr-x 1 root root 228640 2011-10-06 05:45 g++-4.4
-rwxr-xr-x 1 root root 306200 2011-09-17 05:39 g++-4.6
需要將g++連結改為g++-4.4:
/usr/bin$ sudo mv g++ g++.bak
/usr/bin$sudo ln -s g++-4.4 g++


再檢視gcc
和g++版本號
gcc
-v
g++ -v

均顯示gcc version 4.4.6 說明gcc 4.4安裝成功。

讀後感:

      在linux下編譯android報如下錯誤 。找到上面的方法解決了。上文對gcc報錯原因進行了分析,這個態度值得學習。