Qt构建及编译堕落问题及办理方案
副标题#e#
整个一下午都在为Qt中呈现的构建及编译问题而纠结,终于发明白问题地址,故记录下来并叙述办理要领。
问题描写:
当笔者运行qtNetTest的qt widget项目时,一直报错:
Running steps for project qtNetTest…
Could not start process "F:\Qt_5.3\5.3\mingw482_32\bin\qmake.exe"
C:\ProjectFolder\qt_projects\qtNetTest\qtNetTest.pro -r -spec win32-g++
"CONFIG+=debug"
Error while building/deploying project qtNetTest (kit: Desktop Qt 5.3.0 MinGW 32bit)
When executing step ‘qmake’
Elapsed time: 00:00.
问题分解及办理方案:
刚开始,笔者一直觉得是项目文件路径存在中文字符,当仔细思考及验证后,发明中文项目路径一般的报错信息为:
Running steps for project qtNetTest…
Starting process "F:\Qt_5.3\5.3\mingw482_32\bin\qmake.exe"
C:\措施\qt_projects\qtNetTest\qtNetTest.pro -r -spec win32-g++
"CONFIG+=debug"
Cannot find file : C:\措施\qt_projects\qtNetTest\qtNetTest.pro
Error while building/deploying project qtNetTest (kit: Desktop Qt 5.3.0 MinGW 32bit)
When executing step ‘qmake’
Elapsed time: 00:00.
此种环境的报错与笔者所碰着的问题的差异就在于后者的报错信息中呈现了”Cannot find file”信息,此种信息暗示qmake措施无法找到.pro文件,导致此错误的原因即在于项目文件路径中有中文,而qmake无法识别中文(字符编码集的差异,虽然通过修改qt的字符编码集是可以实现识别中文的),从而导致错误产生。
对付本身所碰着的报错问题,笔者发明错误产生的要害在于build directory(构建目次)的设定。
在产生错误时,
#p#副标题#e#
而正确的环境下,应该为:
我们需要将构建目次配置为项目文件夹地址目次。
虽然,这里,对付构建目次尚有两点说明(这两种环境下,措施均可以顺利通过构建和编译):
1、qmake不支持构建目次在源文件目次之下(不发起利用此种要领):
2、Shadow build(隐式构建):上面所述环境皆为隐式构建。
***显式构建,构建目次与工程目次沟通(小我私家较量推荐此种构建方法,因为文件组织越发有层次,越发易于打点)。
小结
对付碰着的此问题,小我私家究其原因在于:当改变qt的事情目次时,由于文件是移动的进程,对付项目运行情况的文件改变并未跟着文件移动而改变,因此,我们在移动项目文件夹后应该从头查抄项目标构建和运行情况。虽然,对付中文路径,依旧需要寄望。
作者:csdn博客 Adoryn