Linux源碼編譯Qt5.7.0 問題整理
一、 The specified system/compiler is not supported:
/home/sdb/qt-everywhere-opensource-src-5.7.0/qtbase/mkspecs//opt/qt-everywhere-opensource-src-4.7.2/mkspecs/default
Please see the README file for a complete list.
這個問題是由於環境變量QMAKESPEC未設置或者設置版本不匹配造成,修改方法如下:
export QMAKESPEC=/home/sdb/qt-everywhere-opensource-src-5.7.0/qtbase/mkspecs/linux-g++
二、.cc1plus: error: unrecognized command line option "-std=c++11"
g++ -v查看g++版本為4.4.8 版本太低,不支持。
查看本地Gcc安裝版本,如果低於4.8,安裝gcc4.8.0
1.下載源碼包
wget http: //ftp.gnu.org/gnu/gcc/gcc-4.8.0/gcc-4.8.0.tar.bz2
解壓: tar -jxvf gcc-4.8.0.tar.bz2
2.下載編譯所需依賴庫
cd gcc-4.8.0
./contrib/download_prerequisites
cd ..
3.建立編譯輸出目錄
mkdir gcc-build-4.8.0
4.進入此目錄,執行以下命令,生成makefile文件
cd gcc-build-4.8.0
../gcc-4.8.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
5.編譯
make -j4
如果編譯成功,則時間是比較長的,半個小時左右,所以如果你看它一直在輸出沒有立刻停下來,應該很開心!
6.安裝
sudo make install
7.切換GCC到新版
確定新安裝的GCC的路徑,一般默認在/usr/local/bin下。可以先updatedb,然後locate gcc-4.8|tail找一下
ls /usr/local/bin | grep gcc
添加新GCC到可選項,倒數第三個是名字,倒數第二個參數為新GCC路徑,最後一個參數40為優先級,設大一些之後就自動使用新版了
update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/i686-pc-linux-gnu-gcc 40
8.確認當前版本已經切換為新版
gcc -v
我這裡用ssh遠程的,發現版本沒變,斷開重練下,重新生成會話後發現變成了4.8了!
三、qt configure時候 error libxcb:the test for linking against libxcb and support libraries failed!
you might need install dependency packages, or pass -qt -xcb
yum install xcb*
Qt入門學習——Qt 5 幫助文檔的使用 http://www.linuxidc.com/Linux/2015-09/123102.htm
Ubuntu 環境下Gtk與QT編譯環境安裝與配置 http://www.linuxidc.com/Linux/2013-08/88539.htm
Linux系統下QT環境搭建 http://www.linuxidc.com/Linux/2013-07/87576.htm
Ubuntu下QT控制台程序無法運行的解決方案以及XTerm的配置方法 http://www.linuxidc.com/Linux/2013-06/86244.htm
Ubuntu 10.04下QT4.7.4移植詳解 http://www.linuxidc.com/Linux/2013-01/77930.htm
Ubuntu 14.04下安裝部署Qt5開發環境 http://www.linuxidc.com/Linux/2014-05/101774.htm
Qt 的詳細介紹:請點這裡
Qt 的下載地址:請點這裡