错误现象
error: C2001: 常量中有换行符
error: C2146: 语法错误: 缺少“)”(在标识符“connect”的前面)
error: C2146: 语法错误: 缺少“;”(在标识符“connect”的前面)
BattleLabel *battleLabel = new BattleLabel(this, QString("战斗开始"));
connect(battleLabel, SIGNAL(destroyed()), this, SLOT(startAnimation()));
一个10年左右的开源项目,Qt5导入工程后,有大量常量中有换行符
错误的提示。这个提示还伴随着一些凭空出现的缺少) 或者 ; 等。
结局方法
为了解决这个问题:
第一步:1. “工具” “选项” “文本编辑器” “文本编码” 改成下图。但这好像是为了新建文件而生效的。编译仍然出现常量中有换行符
的错误
第二步:
将有错误的文本复制到notepad++里,点击“编码”“转为UTF-8 BOM编码”。再复制回来。
原因分析
https://zhuanlan.zhihu.com/p/146543940
https://www.cnblogs.com/cocos2d-x/archive/2012/02/26/2368873.html