在新电脑做一个简单的Qt项目时,在debug输出的时候,出现了C2001错误,提示“常量中有换行符”,

比如

ui->pBtnStart->setText(tr("开始监测"));

就会出现常量中有换行符,肉眼确实没看出来......

但是

ui->pBtnStart->setText(tr("停止监测"));

却可以顺利通过编译,试了很久改了编码也不行,即便编译通过界面显示却会乱码。

最后通过网上百度,找到了3种解决方式:

1、将字符中的中文字符用英文字母或单词代替,这样解决的好处是代码规范,语言统一,缺点就是没有中文表达那样直接、

清晰。(如果是这样我就不会去用中文了!!!)

2、使用中文字符常量时,用QStringLiteral修饰中文字符,格式如QStringLiteral("中文字符"),这种方法必须在每次使用中

文字符时都需要进行修饰,否则还是会出现错误,所以比较麻烦。

3、直接在头文件声明处添加  #pragma execution_character_set("utf-8"),直接解决此错误。

我采用了第3种方法,其步骤如下:

1、QT界面菜单栏->工具->选项->文本编辑器,修改成如果编码是UTF-8则添加,如图:

2、QT界面菜单栏->编辑->Slect Encoding...->UTF-8->按编码保存

3、在需要的头文件中加入#pragma execution_character_set("utf-8")即可

#pragma execution_character_set("utf-8")

2022更新:

出现这种情况的可能是在使用Qt的时候采用了msvc编译,源代码文件是无BOM的utf-8编码格式,QtCreator用MinGw编译OK,切换成MSVC后报错。有以下解决方法

1.直接换成MinGw编译

将MSVC

改成MinGW

​​​​​​​        ​​​​​​​   

2.在工程文件pro添加以下代码,如图:

代码如下:

msvc {QMAKE_CFLAGS += /utf-8QMAKE_CXXFLAGS += /utf-8
}

Qt记录:Qt编程遇C2001错误,提示“常量中有换行符”相关推荐

  1. Qt中提示“常量中有换行符“的解决方法

    使用QT编译界面时,免不了要使用中文,有会出现乱码,有时会提示"常量中有换行符",而不能正常编译,因此可以通过下面的方法解决. PS:本文的环境,QT5.7.1,VS2015 1 ...

  2. qt显示中文乱码,编译提示常量中有换行符,文本后缀“xxx”无效,未找到文本运算符或者文本运算符模板“xxx”

    系统:windows10 硬件:thinkpad T590 qt版本:Qt 5.14.1 Qt Creator版本:4.11.1 一开始我用MinGW编译器能正常编译,并且显示中文字符串也正常,如下图 ...

  3. c语言常量中有换行符,处理 Qt 中文提示 “常量中有换行符”

    在 Qt 自建的 Widget 窗口生成的 cpp 文件中,直接写中文编译时会提示错误.内容是 "常量中有换行符".如下图所示: 要解决这个问题很简单,使用 notepad++ 打 ...

  4. qt错误:常量中有换行符

    这是编译器问题导致,正常Qt本身MinGW不会出现该问题,MSVC则会出现,解决方法如下 方法一: 1.设置文件编码为:如果编码是UTF-8则添加 2.在有中文字符的文件前添加如下语句 #if _MS ...

  5. qt中编译错误:error: C2001: 常量中有换行符的解决办法

    问题:qt中编译错误常量中有换行符 解决办法: 1.打开 编辑->Select EnCoding- 2.选择System->按编码保存即可. 原因: 因为Windows默认的GBK编码和U ...

  6. QT MSVC中文编译出错error: C2001: 常量中有换行符

    Qt error: C2001: 常量中有换行符 QT上用MSVC去编译部分含有中文的字符串时会出现编译错误error: C2001: 常量中有换行符 解决方法: 1.设置是工具->选项-> ...

  7. QT使用MSVC编译时报错C2001: 常量中有换行符

    Windows系统下默认为GBK编码:而Qt中默认编码为utf-8:有时候,GBK编码的汉字解码后再用utf-8编码则可能会报错C2001: 常量中有换行符.解决方法如下: 步骤1.设定UTF-8,添 ...

  8. Qt Creator编译报错: C2001: 常量中有换行符

    一.问题描述. 在使用Qt Creator进行C/C++开发中,进行编译报错:C2001: 常量中有换行符. 二.问题分析. 这是由于代码中包含中文,而文件的默认编码格式为UTF-8. 三.解决方案. ...

  9. Qt开发 VS2019 C2001 常量中有换行符

    具体错误: C2001 常量中有换行符 C2146 语法错误: 缺少")" 在Linux系统编译正常,但是在Windows系统下会报如上错误. 解决办法: 1.添加宏定义 #pra ...

最新文章

  1. Java中ArrayList和LinkedList区别
  2. HTML 杨辉三角,杨辉三角 - 哼哼哈嘿 - OSCHINA - 中文开源技术交流社区
  3. C++ list插入元素源码分析及过程图
  4. 计算机的特别及应用,[计算机软件及应用]Excel使用技巧-非常全.doc
  5. Asp.net mvc中使用配置Unity
  6. python怎么让输出结果为01_python从0到1--01.python中的输入/输出(基础篇)
  7. while 循环判断时 遇到赋值表达式
  8. 双人五子棋(C++游戏)游戏代码在最底下
  9. Zmodem协议由浅入深
  10. excel输出线性拟合曲线的斜率
  11. ucfirst() strtoupper() strtolower()
  12. VMware虚拟机中安装win10操作系统
  13. GMT、UTC、DST、CST时区
  14. java窗口图标怎么换_如何更改Swing窗口的默认图标?
  15. Hibernate配置(核心配置文件.cfg.xml 和映射配置文件.hbm.xml)(对象-关系映射 Object Relational Mapping)
  16. 花菁染料(cas773041-79-5|cas427882-78-8|cas14134-81-7)结构图及合成路线图
  17. 如何设置excel回车换行
  18. POJ1061青蛙的约会(拓展欧几里得)
  19. 六年的计算机电源坏啦,电脑电源坏了有什么症状
  20. Android studio 生成ARR包

热门文章

  1. 生成绩管理系统c语言,学生成绩管理系统——C语言版
  2. css如何自己制作图标字体以及其使用方法
  3. Echarts常用柱状图
  4. 3.亿级流量电商详情页系统实战--哨兵
  5. webos内核_无需购买电话即可试用webOS
  6. hdu-6681 Rikka with Cake
  7. 如何部署 H5 游戏到云服务器?
  8. P型MOS管的防电源反接电路解析(为什么D极和S极要反过来接)
  9. 区块链可验证查询论文阅读(一)vChain: Enabling Verifiable Boolean Range Queriesover Blockchain Databases
  10. 华为荣耀9的android版本号,华为/荣耀公布EMUI 9.0机型升级进度