QT学习笔记-QT5.15 + MSVC编译套件时编译日志及运行日志日志乱码解决

这篇具有很好参考价值的文章主要介绍了QT学习笔记-QT5.15 + MSVC编译套件时编译日志及运行日志日志乱码解决。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0、基础环境

操作系统:Windows10专业版
QT版本:QT5.15.2
QtCreator版本:9.0.2
MSVC版本:MSVC 2019 64bit
C/C++编译器:Microsoft Visual C++ Compiler 17.1.32328.378(amd64)
调试器:Auto-detected CDB at C:\Program Files\Windows Kits\10\Debuggers\x64\cdb.exe

1、QtCreator中的基本设置

1.1 编辑->首选项->环境

QT学习笔记-QT5.15 + MSVC编译套件时编译日志及运行日志日志乱码解决,qt,qt,学习,笔记

1.2 编辑->首选项->文本编辑器

文件编码的设置都是采用的默认值UTF-8,如下图:
QT学习笔记-QT5.15 + MSVC编译套件时编译日志及运行日志日志乱码解决,qt,qt,学习,笔记
QT学习笔记-QT5.15 + MSVC编译套件时编译日志及运行日志日志乱码解决,qt,qt,学习,笔记

2、问题1:MSVC编译日志乱码问题解决

问题描述

当qt的项目采用MSVC构建套件对项目代码进行编译时,在QtCreator的编译输出窗口中显示的编译日志部分内容显示乱码,此处的乱码不一定是中文乱码,如下图:
QT学习笔记-QT5.15 + MSVC编译套件时编译日志及运行日志日志乱码解决,qt,qt,学习,笔记

解决方法

在编辑->首选项->构建套件(Kit)-》MSVC构建套件设置中勾选[Force UTF-8 MSVC compiler output],如下图:
QT学习笔记-QT5.15 + MSVC编译套件时编译日志及运行日志日志乱码解决,qt,qt,学习,笔记
然后点击应用或直接确定,在对项目代码执行重新构建操作,则编译输出中的编译日志已能正常显示没有乱码了,如下图:
QT学习笔记-QT5.15 + MSVC编译套件时编译日志及运行日志日志乱码解决,qt,qt,学习,笔记

3、问题2:MSVC构建套件编译后程序运行日志乱码问题

问题描述

在QtCreator中对程序进行调试运行时会在QtCreator的应用程序输出窗口(也可以认为是控制台)中显示程序中的qDebug()日志,这部分日志中的乱码通常是中文显示乱码。
代码实例:

if (!operateResult.isSuccess())
{
    qWarning() << "Name = " << this->getName() << ",建立与" << this->serverIp << ":" << this->serverPort << "的握手失败...";
    connectResult = false;
}
else
{
    this->errCnt = 0;
    this->state = 1;
    qDebug() << "Name = " << this->getName() << ",成功与" << this->serverIp << ":" << this->serverPort << "建立了连接...";
}

如下图:
QT学习笔记-QT5.15 + MSVC编译套件时编译日志及运行日志日志乱码解决,qt,qt,学习,笔记

解决方法

网上查阅的话通常会介绍3种方法:
1、第1种是通过代码增加处理编码格式的方法,个人认为这种方法最不可取,会导致原始代码中增加很多无用代码,即增加了工作量又降低了代码的可读性。
2、第2种方法还是修改代码,在头文件或者cpp源码文件的#include之后增加一行

#pragma execution_character_set("utf-8")   //实现在日志输出中解决中文乱码问题,测试有效

这种方法有效,个人还是不推荐,还是因为要修改源码,虽然只有一行。
3、第3种方法,个人强烈推荐的方法,就是在pro文件中增加如下代码。(亲测有效)

# 解决msvc构建套件下qtcreator控制台日志中文乱码问题
msvc {
    QMAKE_CFLAGS += /utf-8
    QMAKE_CXXFLAGS += /utf-8
}

注意写法: { 与 msvc要在一行,中间有一个空格,如需奥把 { 写到msvc的下一行是编译不过去的。

如下图:
QT学习笔记-QT5.15 + MSVC编译套件时编译日志及运行日志日志乱码解决,qt,qt,学习,笔记
然后重新构建后,运行日志中文显示正常,如下图:
QT学习笔记-QT5.15 + MSVC编译套件时编译日志及运行日志日志乱码解决,qt,qt,学习,笔记文章来源地址https://www.toymoban.com/news/detail-630702.html

到了这里,关于QT学习笔记-QT5.15 + MSVC编译套件时编译日志及运行日志日志乱码解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt5.15.2 Webassembly源码裁剪编译

    第一步:      .configure -debug-and-release -opensource -prefix \\\"D:qt-everywhere-srccompFile\\\" -platform win32-g++ -nomake examples 第二步:     mingw32-make -j4 第三步:     mingw32-make install   编译core与gui模块:     C:Qt5.15.2yuanmaqt-everywhere-src-5.15.2qtbasesrcgui     C:Qt5.15.2yuanmaqt-everywhere-src

    2024年02月10日
    浏览(57)
  • QT5.15.2搭建Android编译环境及使用模拟器调试(全)

    地址:下载 我电脑的windows的,所以选windows 由于官方安装过程非常非常慢,一定要跟着步骤来安装,不然慢到怀疑人生 1)打开\\\"命令提示符\\\"(开始 - Windows 系统 - 命令提示符) 或者 “win+R” -输入cmd 找到刚才的exe 命令行输入以下命令(exe位置根据自己实际的),然后回车

    2024年02月04日
    浏览(58)
  • jetson-nano编译qt5.15.2带opengl,xcb

    项目需求原因,需要编译高版本qt到jetson-nano板子,历经10天来回折腾,终于是成功了。期间历经交叉编译失败,然后转直接编译,然后尝试各种版本的坑,最后整理的方法异常简单,只需6小时左右即可流畅在板子上编译成功。文章最后有我编译好的qt-5.15.2版本链接。 友情提

    2023年04月09日
    浏览(52)
  • Linux Qt5.15.2 编译QWebEngine源码支持音视频H264

    默认自带的QWebEngine 因版权问题不支持音视频功能,需要自己编译源码以支持。 平台:Linux(UOS V20 1050) Qt:5.15.2 下载 Qt 5.15.2 对应版本源码,使用镜像网站或者Qt Maintenance Tool工具下载。 配置 Qt 环境变量 将以下内容追加到bashrc文件后 刷新使其生效 这个阶段可以预先安装所

    2024年02月05日
    浏览(64)
  • qt5使用msvc2017

    我自己电脑装了vs2022,如果你们装了vs2017,这步估计可以跳过 点开自己的visual studio installer 修改 点单个组件 搜索msvc 勾上这两个 点击修改 然后装msvc调试器 https://download.microsoft.com/download/4/2/2/42245968-6A79-4DA7-A5FB-08C0AD0AE661/windowssdk/winsdksetup.exe 直接全部下一步就好了 点开自己的

    2024年02月05日
    浏览(45)
  • Qt5.9.6+MSVC2015安装配置(附带全部安装包)

    一、安装VS2015 安装MSVC2015有两种办法,一种笨方法是安装visual studio2015,这也是最有效的办法,第二种是单独安装C++库,这个有问题,暂时未成功,以下介绍第一种安装方法。 DVD驱动器装载en_visual_studio_community_2015_with_update_3_x86_x64_dvd_8923300.iso(或者解压ISO文件),然后双击

    2024年02月05日
    浏览(50)
  • qt5.14.2 独立msvc环境搭建(不安装vs)

    一般情况下msvc下的qt开发,无论你是用qtcreator还是vs都推荐安装对应vs版本,这样是最省事和便捷的,但在有些情况下不便安装vs但项目又需要使用msvc,则可以只安装msvc c++编译器,步骤如下: 备注:文内用到所有包均上传到不限速的阿里云盘,欢迎关注 阿里云盘分享 https:

    2024年02月04日
    浏览(50)
  • 统信UOS系统开发笔记(三):从Qt源码编译安装之编译安装Qt5.12.8

      上一篇,是使用Qt提供的安装包安装的,有些场景需要使用到自己编译的Qt,所以本篇如何在统信UOS系统上编译Qt5.12.8源码。     系统版本:      参考博文《获取下载Qt安装包,Qt源码全国网址备忘录(不用注册Qt账户,即可下载各版本Qt安装包和Qt源码包)》   

    2024年02月08日
    浏览(55)
  • 学习Opencv(蝴蝶书/C++)代码——1.macOS下安装OpenCV4.8.0和QT5.15(C++)

    先看看vscode里怎么弄c++,详见:mac下vscode配置c++环境 同时记得把cmake下载好,路径配置好 直接从官网教程开始(事实证明不是很全面,还是有很多问题需要额外找解决方案): https://docs.opencv.org/4.x/d0/db2/tutorial_macos_install.html 一般是有两种安装方式: 直接安装对应平台的预编

    2024年01月18日
    浏览(69)
  • Qt配置使用MSVC编译器

      Qt配置使用MSVC编译器_qt msvc-CSDN博客 注意:Qt支持的MSVC就是2017和2015,所以vs也要下载2017,不要直接用最新的,安装路径都用默认的。程序运行失败时可以尝试windeployqt拷贝库文件到本地,然后有可能就能运行了。VS官网下载Visual Studio Community 2017,在线安装Visual Studio Community

    2024年02月09日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包