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/defaultPlease 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.01.下载源码包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 -xcbyum install xcb*Qt入门学习——Qt 5 帮助文档的使用 http://www.linuxidc.com/Linux/2015-09/123102.htmUbuntu 环境下Gtk与QT编译环境安装与配置 http://www.linuxidc.com/Linux/2013-08/88539.htmLinux系统下QT环境搭建 http://www.linuxidc.com/Linux/2013-07/87576.htmUbuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 http://www.linuxidc.com/Linux/2013-06/86244.htmUbuntu 10.04下QT4.7.4移植详解 http://www.linuxidc.com/Linux/2013-01/77930.htmUbuntu 14.04下安装部署Qt5开发环境 http://www.linuxidc.com/Linux/2014-05/101774.htmQt 的详细介绍:请点这里 Qt 的下载地址:请点这里本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/132921.htm