问题:
最近在虚拟机的Linux上安装QT,编译一个在其它地方没有问题的程序的时候出现了main.error的问题,捣鼓了好久,现在终于是能够用了,现将解决过程记录如下,如果有遇到相同问题的朋友不妨可以试试看
解决方法:
在网上查了一些资料,说的都可能是GCC的问题
我的系统上的GCC有两个版本,系统自带的4.4.2是装在目录/usr/bin下,而我新装的支持C++11的版本5.1.0则是装在/usr/local/bin下,我把/usr/local/bin的路径放到了PATH的前面,因此每次编译时用到的都是g++5.1.0
但有一个问题是在安装好QT后进入到工具栏的Tools/Options中,选择Kits,可以看到系统自动选择的(Auto-detected)编译版本
选中它之后可以看到它有很多的选项
可以看到Compiler那个选项就是进行gcc编译时要用到的gcc的版本,点击manage
可以看到有很多种GCC的选择,但是这里默认是选择的Manual中的GCC,刚装上QT的时候Manual中的两种GCC的路径都是/usr/bin,所以我把他们都删除了,重新添加了一个GCC,然后把路径改成/usr/local/bin,这样之后再打开工程就能成功编译了。
总结:
在安装较高版本的QT之前请先确定系统的GCC已经达到要求,尽量避免错误