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

打印 上一主题 下一主题

主题 869|帖子 869|积分 2607


背景

本来是准备采用VS+Qt插件的方式来开发Qt的,但是学习过程中发现,这种模式照旧没有直接用Qt Creator 开发来的方便,插件这种模式坑多,功能不完善。
不过在直接使用Qt Creator的时候也踩坑了:
(最后发现,Qt Creator 和 VS+qt插件 的两种方式可以混用。 vs 也可以直接打开qt的cmake工程。 也就是可以结合两者的优势!)
中文路径


之前,我使用VS+qt插件的方式的时候,根本没碰到不能是中文路径的题目。结果这里如果选择
MinGW作为编译器,居然不支持中文路径。如果有中文路径直接报错:
  1. Error while building\deploying project OpenGL456 (kit:-1: Desktop Qt 6.7.2 MinGW 64-bit)
复制代码
怎么,这年初支持个中文这么难吗?QT 还能不能好好玩耍了?
不过如果选择编译器 MSVC2019,这个构建没有报错了!也就是说,使用MSVC2019这个编译器能支持中文路径!
CMake

使用 QOpenGLWidget 空间,必要手动在CMake 中添加相应的库
  1. find_package(Qt6 REQUIRED COMPONENTS OpenGLWidgets)
  2. target_link_libraries(OpenGL789 PRIVATE Qt6::OpenGLWidgets)
复制代码
多继续

添加这句后编译报错!链接时找不到这个函数:setPolygonMode。
  1. void MyOpenGLWidget::setPolygonMode(bool isWire)
  2. {
  3.     makeCurrent();
  4.     if (isWire)
  5.     {
  6.         glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
  7.     }
  8.     else
  9.     {
  10.         glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
  11.     }
  12.     doneCurrent();
  13.     update();
  14. }
复制代码
​​

原因时自定义的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)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

前进之路

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表