Qt5 vsmc 常量中有换行符

错误现象

error: C2001: 常量中有换行符
error: C2146: 语法错误: 缺少“)”(在标识符“connect”的前面)
error: C2146: 语法错误: 缺少“;”(在标识符“connect”的前面)

    BattleLabel *battleLabel = new BattleLabel(this, QString("战斗开始"));
    connect(battleLabel, SIGNAL(destroyed()), this, SLOT(startAnimation()));

一个10年左右的开源项目,Qt5导入工程后,有大量常量中有换行符错误的提示。这个提示还伴随着一些凭空出现的缺少) 或者 ; 等。

结局方法

为了解决这个问题:
第一步:1. “工具” “选项” “文本编辑器” “文本编码” 改成下图。但这好像是为了新建文件而生效的。编译仍然出现常量中有换行符的错误
Qt5 vsmc 常量中有换行符_第1张图片
第二步:
将有错误的文本复制到notepad++里,点击“编码”“转为UTF-8 BOM编码”。再复制回来。
Qt5 vsmc 常量中有换行符_第2张图片

原因分析

https://zhuanlan.zhihu.com/p/146543940
https://www.cnblogs.com/cocos2d-x/archive/2012/02/26/2368873.html

你可能感兴趣的:(qt,开发语言)