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

文章讲述在运行别人的Qt程序时,因文件中存在中文且编码格式不对,编译报错。给出三种解决方法:一是程序全用英文;二是在qtCreator里将文件编码转换为GBK;三是使用偶数个中文或奇数个中文后加英文点,此方法适合改文字数少的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录

    问题简述
    解决方法1:不使用英文
    解决方案2:改变文件编码
    解决方案3:使用偶数个中文或者奇数个中文最后加一个英文的点"."

问题简述

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

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

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

解决方法1:不使用英文

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

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

qtCreator 编辑->选择编码

在这里插入图片描述

->SYSTEM ->按编码保存

在这里插入图片描述

这个问题的原因是因为Windows默认的GBK编码和UTF-8编码的冲突造成的,转换文件为GBK编码就行了。
在这里插入图片描述

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

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

参考资料:

Visual Studio error C2001:常量中有换行符错误解决办法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值