当前位置: 首页 > news >正文

Qt Creator 中文 “error: C2001: 常量中有换行符“ 问题解决方法

        Qt Creator 编译时出现‌中文 error: C2001: 常量中有换行符‌的问题,通常由文件编码与编译器字符集不兼容导致。

一、修改文件编码格式

  1. 添加 UTF-8 BOM 签名

    • 在 Qt Creator 中设置:工具 -> 选项 -> 文本编辑器 -> 行为 -> UTF-8 BOM,选择“如果编码是 UTF-8 则添加” ‌。
    • 注意‌:修改后需手动保存文件(如添加空格并删除)以应用新编码 ‌。
  2. 直接转换文件编码

    • 使用文本编辑器(如 Notepad++ 或 EditPlus)将文件编码转换为 ‌UTF-8 BOM‌ 或 ‌GBK‌ 格式 ‌。

二、代码层优化

  1. 用 QStringLiteral 包裹中文字符

    m_tableTitle.append(QStringLiteral("文件名"));  // 避免直接使用纯中文字符串 
  2. 添加编译指令
    在源文件开头添加:

    #pragma execution_character_set("utf-8")  // 强制指定执行字符集为 UTF-8

三、其他技巧

  1. 调整字符串内容

    • 在中文末尾添加英文符号(如 .)或确保中文字符数为偶数,可临时绕过编译错误 ‌。
  2. 统一项目编码

    • 确保所有文件使用一致的编码格式(推荐 UTF-8 BOM),避免混合编码导致冲突 ‌。

四、环境适配

  • ‌MinGW 构建套件‌:若使用 MinGW,需在代码中显式处理中文字符(如 QStringLiteral),或设置系统编码兼容模式 。
  • ‌MSVC 构建套件‌:优先通过文件编码格式(UTF-8 BOM)解决问题 ‌。

 

http://www.dtcms.com/a/98697.html

相关文章:

  • 树的基础_遍历(蓝桥云课)
  • Qt之Service开发
  • 复盘与导出工具最新版V20.0版本更新--覆盖标记新增龙头标记---连板标记--普通标记3种选择
  • 深度学习4.4笔记
  • 游戏AI实现-GOAP
  • 【华为OD技术面试真题 - 技术面】- Java面试题(16)
  • 【免费】中国电子学会2025年03月份青少年软件编程Python等级考试试卷六级真题(含答案)
  • 解决obsidian无法加载社区的解决的尝试
  • DeepSeek-R1国产大模型实战:从私有化部署到内网穿透远程使用全攻略
  • 【Java】Java核心知识点与相应面试技巧(七)——类与对象(二)
  • c++游戏开发第一期
  • 【大模型基础_毛玉仁】5.3 附加参数法:T-Patcher
  • 《新凯来 :中国半导体设备制造行业从“跟随者”向“挑战者”的角色转变》
  • 【蓝桥杯速成】| 15.完全背包
  • docker pull lss233/one-api:latest 在哪里运行,作用是什么
  • 【VUE】day08黑马头条小项目
  • (三)点亮LED
  • ngx_http_core_merge_srv_conf
  • 外观模式(Facade Pattern):复杂系统的“统一入口”
  • Qwen-0.5b linux部署
  • 订单超时自动关闭:电商系统的技术难题与解决方案
  • 常用登录Linux系统的方法以及操作指南
  • Spring Cloud Gateway详细介绍简单案例
  • Js 主线程和异步队列哪个先执行
  • Yolo系列之Yolov4的改进及网络框架
  • Java入门知识总结——章节(二)
  • bluecode-20240913_1_数据解码
  • 【Kafka】分布式消息队列的核心奥秘
  • 3.29前端模拟面试
  • 【区块链安全 | 第八篇】多签机制及恶意多签