Visual Studio 2022 QT程序开发编译报错:error C2001: 常量中有换行符

背景

在前面文中《Visual Studio 2022 开发QT程序乱码问题几种解决办法》我们提到将项目代码文件设置成UTF-8不带签名(这样做是跨平台通用做法),但是在后来编译中报错如下:

error C2001: 常量中有换行符

解决办法

设置UTF-8带签名编码

此方案确实可以解决error C2001: 常量中有换行符问题编译报错问题,但是这个不能跨平台编译通用。觉得此方法不妥。
然后配合QStringLiteral实现中文字符串乱码的问题

设置UTF-8带签名编码

将项目代码文件设置成UTF-8不带签名(这样做是跨平台通用做法)。但是这种情况中文字符串的地方会报error C2001: 常量中有换行符.

解决办法

是否可以不用中文

如果是国际化程序,我们应该用tr包裹英文字符串,然后在翻译文件ts中区设置中文翻译。

如果代码已经用了中文,又不让修改成英文,该如何解决了呢?

发现字符串和引号间又空格就不会报错了,但是最后一个字“序”还是乱码。

this->setWindowTitle(" 我的第一个程序  ");

TODO,目前没有想到好办法

参考

1.Qt函数setText设置中文导致乱码/程序崩溃/报错:常量中有换行符
2.Visual Studio出现error: C2001: 常量中有换行符的报错

posted @ 2025-11-01 23:11  焦涛  阅读(83)  评论(0)    收藏  举报