Qt Creator编译,存在中文导致错误: error: C2001: 常量中有换行符

时间:2024-03-24 07:47:25

问题简述

今天在跑别人的Qt程序时遇到了问题,编译时报了如下这些错误:

error: C2001: 常量中有换行符
error: C2062: 意外的类型“bool”
error: C2065: “flag”: 未声明的标识符
error: C2143: 语法错误: 缺少“)(在“return”的前面)
error: C2143: 语法错误: 缺少“;(在“return”的前面)
error: C2065: “temp”: 未声明的标识符
error: C3867: “QDialog::result”: 非标准语法;请使用 "&" 来创建指向成员的指针
error: C2059: 语法错误:}”
error: C1071: 在注释中遇到意外的文件结束

造成这些错误的原因是因为文件中存在中文,但编码格式不对

解决方法1:不使用英文

都9102年了,程序里应该全是英文,注释也换成英文

解决方案2:改变文件编码

qtCreator 编辑->选择编码
Qt Creator编译,存在中文导致错误: error: C2001: 常量中有换行符
->SYSTEM ->按编码保存
Qt Creator编译,存在中文导致错误: error: C2001: 常量中有换行符

解决方案3:使用偶数个中文或者奇数个中文最后加一个英文的点"."

这个奇妙的解决方法可以奏效,如果有大佬知道这个的原理,请告诉我。
这个解决方案适合于需要更改的文字数较少的情况。