一、问题描述
大概异常内容如下:
C2001 常量中有换行符
C2143 语法错误: 缺少“)”(在“return”的前面)
C2143 语法错误: 缺少“;”(在“return”的前面)
C2146: 语法错误: 缺少“;”(在标识符“QString”的前面)
二、问题分析
代码编码格式导致,程序中有对中文编码格式处理,而文件格式不是中文格式
三、三种解决方法,本文使用第三种解决,选择适合你的项目方法即可
1、按照如下方案进行解决
1.1、首先加上格式配置
#include <qtextcodec.h>
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GB2312"));
1.2、文件编码
修改文件编码。在Qt Creator中,点击菜单栏“工具”→“选项”。“文本编辑器”一栏中的“行为”选项卡,将默认编码更改为UTF-8,并选择“如果编码是UTF-8则添加”。
1.3、解决乱码
将 QString::fromUtf8("中文") 修改为 QString::fromLocal8Bit("中文")。解决中文乱码的问题。
替换前:
ui->textEdit->append(QString::fromUtf8("中文"));
替换后:
ui->textEdit->append(QString::fromLocal8Bit("中文"));
2、以上方案未起作用,按以下流程解决
Qt菜单->编辑->选择编码->文本编码->UTF-8->按编码保存
3、改变文件编码
点击文件->另存为:
修改编码:
选择UTF-8 BOM:
点击是之后,在编译项目,异常解决。
如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。