Qtcreator与多个交叉编译器问题

在Qtcreator中升级项目编译器从gcc4.4.7到gcc4.8.3后,遇到编译错误。问题出在qmake生成的Makefile仍使用旧版本编译器。检查发现Kit设置、Qt Versions和mkspec未正确指向gcc4.8.3。解决方案包括在pro文件中指定编译器,或者重新编译qt源码以创建新的Kit套件。手动指定CC和CXX虽能解决问题,但可能引入其他潜在问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前项目中使用的gcc为4.4.7版本,后来因为C++11的原因升级到了gcc4.8.3,但是在设置了Qtcreator中的构建套件后,重新编译项目发现还是有错误:

这个错误感觉不像是项目出问题了,而更像是编译器的问题,去qmake后生成的Makefile文件中看,果然虽然在Kit中指定了gcc4.8.3,但是Makefile中的CC和CXX还是gcc4.4.7:

这个问题会出在哪呢?难道是因为没把4.8.3的路径加入环境变量中吗?尝试了一下,还是不管用,回到qtcreator的Build & Run中,看看各个项有什么区别:交叉编译器设置了两个,Qt Versions只有一个,Kits有两个,两个交叉编译器共用一个Qt Versions,如果有差异也就只有这一项了,打开Qt Versions的Details看,发现mkspec为linux-mips-g++,而这个linux-mips-g++是我使用4.4.7版本编译qt源码时指定的,也就是说我gcc4.8.3的Kit配置的是gcc4.4.7版本编译的Qt版本,而编译项目时默认编译器就自动指定了4.4.7版本的gcc(我猜的)。

而如何改到4.8.3版本呢?可以再pro文件中重新指定一次:

QMAKE_CC = /home/lpf/gcc-4.8.3-d197-n64-loongson/usr/bin/mips64el-redhat-linux
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值