【qt踩坑】路径含中文导致的报错,以及 OpenGL的链接报错

2024-09-05 03:20

本文主要是介绍【qt踩坑】路径含中文导致的报错,以及 OpenGL的链接报错,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

本来是准备采用VS+Qt插件的方式来开发Qt的,但是学习过程中发现,这种模式还是没有直接用Qt Creator 开发来的方便,插件这种模式坑多,功能不完善。
不过在直接使用Qt Creator的时候也踩坑了:

(最后发现,Qt Creator 和 VS+qt插件 的两种方式可以混用。 vs 也可以直接打开qt的cmake工程。 也就是可以结合两者的优势!)

中文路径

在这里插入图片描述
之前,我使用VS+qt插件的方式的时候,根本没遇到不能是中文路径的问题。结果这里如果选择
MinGW作为编译器,居然不支持中文路径。如果有中文路径直接报错:

 Error while building\deploying project OpenGL456 (kit:-1: Desktop Qt 6.7.2 MinGW 64-bit)

怎么,这年头支持个中文这么难吗?QT 还能不能好好玩耍了?

不过如果选择编译器 MSVC2019,这个构建没有报错了!也就是说,使用MSVC2019这个编译器能支持中文路径!

CMake

使用 QOpenGLWidget 空间,需要手动在CMake 中添加相应的库

find_package(Qt6 REQUIRED COMPONENTS OpenGLWidgets)
target_link_libraries(OpenGL789 PRIVATE Qt6::OpenGLWidgets)

多继承

添加这句后编译报错!链接时找不到这个函数:setPolygonMode。

void MyOpenGLWidget::setPolygonMode(bool isWire)
{makeCurrent();if (isWire){glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);}else{glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);}doneCurrent();update();
}

​​在这里插入图片描述

原因时自定义的GLWidget类要进行多继承,还需继承:QOpenGLFunctions_3_3_Core

find_package(Qt6 REQUIRED COMPONENTS OpenGLWidgets)
find_package(Qt6 REQUIRED COMPONENTS Gui)
find_package(Qt6 REQUIRED COMPONENTS OpenGL)

target_link_libraries(OpenGL789 PRIVATE Qt6::OpenGLWidgets)
target_link_libraries(OpenGL789 PRIVATE Qt6::Gui)
target_link_libraries(OpenGL789 PRIVATE Qt6::OpenGL)

这篇关于【qt踩坑】路径含中文导致的报错,以及 OpenGL的链接报错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1137822

相关文章

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

Redis出现中文乱码的问题及解决

《Redis出现中文乱码的问题及解决》:本文主要介绍Redis出现中文乱码的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 问题的产生2China编程. 问题的解决redihttp://www.chinasem.cns数据进制问题的解决中文乱码问题解决总结

Qt如何实现文本编辑器光标高亮技术

《Qt如何实现文本编辑器光标高亮技术》这篇文章主要为大家详细介绍了Qt如何实现文本编辑器光标高亮技术,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录实现代码函数作用概述代码详解 + 注释使用 QTextEdit 的高亮技术(重点)总结用到的关键技术点应用场景举例示例优化建议

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

RedisTemplate默认序列化方式显示中文乱码的解决

《RedisTemplate默认序列化方式显示中文乱码的解决》本文主要介绍了SpringDataRedis默认使用JdkSerializationRedisSerializer导致数据乱码,文中通过示... 目录1. 问题原因2. 解决方案3. 配置类示例4. 配置说明5. 使用示例6. 验证存储结果7.

VSCode设置python SDK路径的实现步骤

《VSCode设置pythonSDK路径的实现步骤》本文主要介绍了VSCode设置pythonSDK路径的实现步骤,包括命令面板切换、settings.json配置、环境变量及虚拟环境处理,具有一定... 目录一、通过命令面板快速切换(推荐方法)二、通过 settings.json 配置(项目级/全局)三、

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键