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: 常量中有换行符的报错
浙公网安备 33010602011771号