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

【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)


http://www.kler.cn/news/294980.html

相关文章:

  • STM32学习笔记4 --- USART
  • 实现点击 `el-dialog` 里面的一个图标将对话框放大至全屏
  • QT自动获取编译日期与git commit ID
  • 【C++11】深入理解与应用右值引用
  • python可执行文件exe
  • Openharmony 下载到rk3568实现横屏
  • 案例-上海某科技公司:监控易7.0重塑服务器监控模式
  • 简单梳理一个历史脉络
  • urllib与requests爬虫简介
  • 【Nginx系列】Nginx中rewrite模块
  • 牛客(除2!)
  • 设计模式 19 观察者模式
  • 【AIGC】AI编程工具合集及其特点介绍
  • 1-18 平滑处理——高斯滤波 opencv树莓派4B 入门系列笔记
  • 【LabVIEW学习篇 - 17】:人机交互界面设计01
  • 以后写代码都是AI自动写了,Cursor+Claude-3.5-Sonnet,Karpathy 点赞的 AI 代码神器。如何使用详细教程
  • 解决异步任务上下文丢失问题
  • 【Python】6.基础语法(6)文件
  • DataLoader使用
  • [数据集][目标检测]电动车头盔佩戴检测数据集VOC+YOLO格式4235张5类别
  • 计算机网络与Internet应用
  • OpenCV与Matplotlib:灰度图像
  • 漫谈设计模式 [20]:解释器模式
  • 实战项目-快速实战-springboot dataway
  • linux 检查cpu 内存命令
  • Flutter基本组件Text使用
  • 嵌入式面试刷题
  • 商城系统的数据库
  • 电脑录屏杂音太大怎么办 电脑录屏杂音去除办法有哪些 解决录屏电流声等问题技巧与工具推荐
  • 如何选择国内大带宽服务器租用?