彻底解决QT5 中文编译不过问题

在windows平台使用Qt5开发时,会出现源码(.cpp或者qml)中包含中文,导致编译不通过,具体的错误代码见下图:

原因分析

出现错误的原因是windows下,QT默认只使用"UTF-8"的编码方式,而中文字体需要"UTF-8-BOM"格式。

解决方法

方法1:(最简单)

在类的构造函数中添加上面两行代码,可以解决该类中包含中文编译不过的问题。

cpp 复制代码
QTextCodec *codec = QTextCodec::codecForName("UTF-8-BOM");
QTextCodec::setCodecForLocale(codec);

方法2:

用notepad++ 打开每个包含中文的源码文件,"Encoding"选择UTF-8-BOM编码,然后保存关闭。

相关推荐
fqbqrr1 分钟前
2601C++,模块基础
c++
带土12 分钟前
6. C++智能指针(1)
开发语言·c++
星火开发设计13 分钟前
C++ queue 全面解析与实战指南
java·开发语言·数据结构·c++·学习·知识·队列
橘颂TA19 分钟前
【剑斩OFFER】算法的暴力美学——力扣 394 题:字符串解码
数据结构·c++·结构与算法
new_zhou32 分钟前
vs2019+qt工程中生成dump文件及调试
开发语言·qt·visual studio·dump调试
txinyu的博客1 小时前
结合游戏场景理解,互斥锁,读写锁,自旋锁,CAS / 原子变量,分段锁
开发语言·c++·游戏
hugerat1 小时前
在AI的帮助下,用C++构造微型http server
linux·c++·人工智能·http·嵌入式·嵌入式linux
-森屿安年-1 小时前
unordered_map 和 unordered_set 的实现
数据结构·c++·散列表
九久。2 小时前
手动实现std:iterator/std:string/std::vector/std::list/std::map/std:set
c++·stl
小羊羊Python2 小时前
Sound Maze - 基于 SFML+C++14 的音效迷宫开源游戏 | MIT 协议
c++·游戏·开源