我們知道C++11标準開始支援類内初始化(in-class initializer),Qt creator編譯出現error,不支援這個特性,原因在于,Ubuntu12.04預設的是使用gcc4.6.使用如下辦法更新Ubuntu 12.04下的gcc :
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
更新完成使用gcc --version 顯示版本依然是4.6.3,并沒有把4.8版設定為預設編譯時調用的/usr/bin/g++ 是個連結檔案,把這個檔案删除,建立連結到g++-4.8:
cd /usr/bin
sudo rm g++
sudo ln -s g++-4.8 g++
同樣的sudo rm gcc
sudo ln -s gcc-4.8 gcc