彻底解决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编码,然后保存关闭。

相关推荐
-dzk-1 天前
【代码随想录】LC 59.螺旋矩阵 II
c++·线性代数·算法·矩阵·模拟
m0_706653231 天前
C++编译期数组操作
开发语言·c++·算法
嵩山小老虎1 天前
Windows 10/11 安装 WSL2 并配置 VSCode 开发环境(C 语言 / Linux API 适用)
linux·windows·vscode
qq_423233901 天前
C++与Python混合编程实战
开发语言·c++·算法
m0_715575341 天前
分布式任务调度系统
开发语言·c++·算法
CSDN_RTKLIB1 天前
简化版unique_ptr说明其本质
c++
naruto_lnq1 天前
泛型编程与STL设计思想
开发语言·c++·算法
m0_748708051 天前
C++中的观察者模式实战
开发语言·c++·算法
时光找茬1 天前
【瑞萨AI挑战赛-FPB-RA6E2】+ 从零开始:FPB-RA6E2 开箱测评与 e2 studio 环境配置
c++·单片机·边缘计算
qq_537562671 天前
跨语言调用C++接口
开发语言·c++·算法