QT使用MSVC编译器出现报错及乱码问题

在Windows10环境下,使用QT 5.14和MSVC2017 32bit编译器时,遇到包含中文字符串的项目编译错误。错误提示为'C2001: 常量中有换行符'。解决方法包括:在含有中文字符的头文件中添加特定代码,或者调整QT的文本编辑器设置。需要注意的是,两种方法不能混用,否则可能导致乱码。
摘要由CSDN通过智能技术生成

系统环境:windows10企业版 64位系统
集成开发环境:QT
版本:5.14
编译器版本:Desktop Qt 5.14.1 MSVC2017 32bit

故障现象:
使用Desktop Qt5.14.1 MinGW 32-bit 编译器编译包含有中文字符串的项目时,编译正常。切换使用MSVC编译器时就会报错:“error: C2001: 常量中有换行符”。

解决方案:
将工具菜单-——>选项——>文本编辑器里按下图修改:
在这里插入图片描述
1、如果中文字符是下面这样包含:

QString("中文字符");

则需要在包含中文字符文件的头文件处添加如下代码:

#pragma execution_character_set("utf-8")</
回答: 当使用MSVC编译器QT中进行编译时,可能会遇到各种报错。其中一种常见的报错是"Project ERROR: Cannot run compiler 'cl'",这是因为在QT的安装目录下没有找到cl.exe文件。解决方法是下载Windows SDK,并将vcvarsall.bat文件的路径添加到QT编译器中。具体的步骤是,在QT的设置中选择MSVC编译器,然后添加vcvarsall.bat文件的路径,并选择是x86还是x64版本。然后返回到kits选项,选择刚刚配置过的编译器。\[1\] 另外,当使用MSVC编译器编译Qwidget项目时,可能会遇到各种报错,如Link1158 RC.exe无法运行、NNAME无法找到、MSVCRTD.dll找不到等等。这些问题可能是由于编译器配置不正确导致的。解决方法是检查编译器的配置是否正确,并确保已勾选JOM选项。如果问题仍然存在,可能需要进一步分析具体的错误信息以找到解决方法。\[3\] 总之,当使用MSVC编译器QT中进行编译时,需要确保正确配置编译器,并根据具体的报错信息进行逐一排查和解决。 #### 引用[.reference_title] - *1* *2* [QT使用MSVC编译器报错:Project ERROR: Cannot run compiler ‘cl‘以及后续问题解决](https://blog.csdn.net/wang_mu_mu_/article/details/126983472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [关于QT使用MSVC编译各种奇怪报错的情况总结](https://blog.csdn.net/weixin_47187658/article/details/125531357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值