ubuntu 12.04現在gcc編譯器版本號為4.6.3,交叉編譯ffmpeg的時候需要gcc 4.7.2
升級方案參考 http://www.maykiller.com/2012/ubuntu-install-gcc-4-7-with-set-default/
1. 加入gcc源
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.7 g++-4.7
這里第一句執行 一定要看清結果,是否成功。
2. 測試是否安裝成功
//方法一 gcc-4.7 -v g++-4.7 -v //方法二 ls /usr/bin/gcc* -l ls /usr/bin/g++* -l
3.
如果按照方法一來檢測,只要出現:
"gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-4precise1)"即為安裝成功!
如果按照方法二來檢測,只要出現:
"/usr/bin/gcc-4.7"&"/usr/bin/g++-4.7"即為安裝成功!
安裝成功后我們如果要使用gcc-4.7&g++-4.7來編譯的話,我們就得把gcc改為gcc-4.7,g++同理,改為g++-4.7來進行編譯.
如果你想直接使用gcc-4.7而不改變編譯時gcc改為gcc-4.7的話,我們就可以更改一下gcc的軟鏈接:
sudo rm /usr/bin/gcc sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc sudo rm /usr/bin/g++ sudo ln -s /usr/bin/g++-4.7 /usr/bin/g++
4.
現在我們用gcc -v來測試就能發現變為了4.7了!
既然GCC-4.7使用了最新的C++11標准,但是我們為什么還是提示錯誤呢?解決方法如下:
在編譯的時候添加"-std=c++11"不帶引號即可正常編譯C++11標准的代碼!