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

Qt 项目Mingw编译器转换为VS编译器时的错误及解决办法

错误

        在mingw生成的项目,转换为VS编译器时通常会报些以下错误(C4819警告,C2001错误,C2143错误)

 原因及解决方式

        这一般是由于字符编码引起的,在源代码文件中包含了中文字符导致的。Qt Creator 生成的代码文件默认是UTF8格式,而VS生成的源代码文件是其它字符集(ANSI或GBxxx),要想使VS正确编译Mingw源代码文件,经验证有以下三种方式:

  1.  将源码文件改为UTF8-BOM格式。
  2. 在每个源码文件上方添加 #pragma execution_character_set("utf-8") ,此方式已过时。
  3. 在Qt工程pro文件中添加参数。

以上三种方式1和2不在介绍,比较简单。详细介绍一下第3种方式

在Qt工程pro文件中添加参数

        在Qt工程pro文件中添加参数有两种方式,这两种方式是等价的,推荐使用第一种方式。

方式一

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

方式二

QMAKE_CXXFLAGS += /source-charset:utf-8  
QMAKE_CXXFLAGS += /execution-charset:utf-8

加入编译选项后对比,从上至下分别为,方式一、方式二、未添加编译选项:

 以下信息为在添加编译选项方式一后,在VS工程中查看的编译选项添加位置

参考链接:

将源字符集和执行字符集设置为 UTF-8

/source-charset(设置源字符集)

http://www.lryc.cn/news/62508.html

相关文章:

  • 大学生用什么蓝牙耳机好?2023好用的蓝牙耳机推荐
  • 【好题】好题分享
  • three.js 怎么在自动缩放的时候添加动画效果
  • 考虑梯水电站群的水火电节能调度(Python代码实现)
  • CF914G Sum the Fibonacci
  • Shell基础入门实战
  • 如何进行微服务的技术选型?
  • Vue电商项目--应用开发详解
  • Lvs负载均衡
  • JAVAWeb08-手动实现 Tomcat 底层机制+ 自己设计 Servlet
  • 非监督学习简单介绍
  • 香港科技大学有什么好的专业?
  • 【两个月算法速成】day04
  • 【Python】实战:生成无关联单选问卷 csv《压疮风险评估表》
  • rsync 远程删除文件
  • LinkedBlockingQueue原理
  • 哈希表题目:网格照明
  • Python多线程爬虫为何效率低下?解析原因并提高爬虫速度的方法
  • Python 标准方形信号定义(完美实现)
  • [Daimayuan] 走不出的迷宫(C++,图论,DP)
  • 【LeetCode: 1416. 恢复数组 | 暴力递归=>记忆化搜索=>动态规划 】
  • centos7查看磁盘io
  • 浅析低代码开发的典型应用构建场景v
  • 3 连续模块(二)
  • ElasticSearch 部署及安装ik分词器
  • 汽车充电桩检测设备TK4860C交流充电桩检定装置
  • 备份和恢复:确保数据安全
  • 8 DWA(一)
  • mysql慢查询日志
  • Sentinel介绍及搭建