Qt qmake 构建 运行 都出错解决方法

本文介绍在使用《QtCreator快速入门》书籍配套源码时遇到的编译错误问题及解决方案。主要原因是源码所在路径包含中文字符,导致qmake、构建或执行程序时出现未明确提示的错误。解决办法是将源程序移动到不含中文的路径。

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

在学习《Qt Creator快速入门》使用书中提供的源码程序时,打开源码程序,不论是执行qmake,还是构建程序,还是执行程序均出现错误,并且不给错误提示消息,状态如下图
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

这种情况多半是打开文件过程中,路径包含中文,将源程序拷贝到没有中文的路径下,执行问题就会解决
(我想你应该肯定是配置好了QT的编译器,环境变量等东西的)

<think>好的,我现在需要解决用户关于如何设置QtQMAKE_MSC_VER属性的问题。根据用户提供的引用内容,我需要整理出可行的方法,并给出清晰的步骤。 首先,用户提到了几个引用,其中引用5提到了两种方法:清空构建目录或修改配置文件。引用4和引用2、3也提到了类似的问题,即在使用MSVC编译时出现QMAKE_MSC_VER未设置的错误。我需要确认这些方法的有效性,并考虑用户可能的需求。 方法一是清空构建目录或使用影子构建。这种方法可能更安全,因为修改配置文件可能会有版本兼容性问题。引用5指出方法二(修改配置文件)不推荐,因为换了VS版本可能会出错。所以应该优先推荐方法一。 另外,用户可能希望知道如何具体操作影子构建,或者如何手动指定QMAKE_MSC_VER的值。例如,在.pro文件中添加参数,如引用4提到的QMAKE_MSC_VER = 1900。不过需要根据用户安装的Visual Studio版本确定正确的版本号。例如,MSVC2015对应的是1900,MSVC2017是1910等。因此,在教程中需要说明如何查找对应的版本号,避免用户设置错误。 此外,可能需要注意不同Qt版本对MSVC的支持情况,以及是否需要安装对应的Qt构建套件。比如,用户是否安装了正确版本的Qt for MSVC,这可能会影响QMAKE_MSC_VER的自动检测。如果自动检测失败,手动设置是必要的。 总结步骤应该是: 1. 推荐使用影子构建,清空旧的构建文件。 2. 如果必须手动设置,则在.pro文件中添加QMAKE_MSC_VER = 版本号,并给出版本号对应表。 3. 修改配置文件作为最后手段,但需注意潜在问题。 需要验证这些步骤是否在引用中有支持。引用5提到方法一有效,而引用4可能提到手动设置的方法。需要确保步骤准确,避免用户操作时出现问题。同时,提醒用户根据实际VS版本调整数值,并提供参考资料链接供用户进一步查阅。</think>### Qt设置QMAKE_MSC_VER属性方法教程 #### 问题背景 在使用Qt的MSVC编译器时,若出现错误提示`msvc-version.conf loaded but QMAKE_MSC_VER isn't set`,说明Qt未正确识别当前MSVC的版本号。此属性用于指定Microsoft Visual C++的版本,直接影响Qt的编译配置[^2][^3]。 --- ### 解决方案 #### 方法1:使用影子构建(推荐) **步骤**: 1. **删除旧的构建目录**:进入项目文件夹,删除`build`或类似名称的构建目录。 2. **创建新的构建目录**:在Qt Creator中重新配置构建路径(选择“影子构建”模式),确保编译环境完全重置。 3. **重新编译项目**:此时Qt会重新生成配置,自动检测MSVC版本[^5]。 **优点**:无需手动修改文件,避免配置冲突。 --- #### 方法2:手动设置.pro文件 **步骤**: 1. 打开项目的`.pro`文件。 2. 添加以下代码(根据实际Visual Studio版本填写数值): ```makefile # 示例:MSVC2015对应1900,MSVC2017对应1910,MSVC2019对应1920 QMAKE_MSC_VER = 1920 ``` 3. 保存文件并重新构建项目[^4]。 **版本对应关系**: | Visual Studio版本 | QMAKE_MSC_VER值 | |-------------------|------------------| | MSVC2013 | 1800 | | MSVC2015 | 1900 | | MSVC2017 | 1910 | | MSVC2019 | 1920 | | MSVC2022 | 1930 | --- #### 方法3:修改Qt配置文件(不推荐) **步骤**: 1. 定位Qt安装目录下的`msvc-version.conf`文件,路径通常为: ```bash Qt/版本号/msvc20XX_YY/mkspecs/common/msvc-version.conf ``` 2. 在文件中添加版本定义: ```makefile QMAKE_MSC_VER = 1920 # 根据实际版本修改 ``` 3. 保存文件并重新编译。 **缺点**:修改全局配置文件可能导致其他项目兼容性问题,尤其是切换不同MSVC版本时。 --- ### 注意事项 1. **版本一致性**:需确保`QMAKE_MSC_VER`与本地安装的Visual Studio版本严格匹配。 2. **Qt套件选择**:在Qt Creator的`Kits`设置中,确认已选择正确的MSVC编译套件。 3. **清理构建缓存**:无论使用哪种方法,建议在修改后执行`Clean All`并重新构建。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值