【问题标题】:How to resolve 'undefined references' in OpenGL C++ Qt5.5如何解决 OpenGL C++ Qt5.5 中的“未定义引用”
【发布时间】:2016-03-06 08:25:05
【问题描述】:

我已经从 GitHub 下载了Earth10,当我使用 QGLWidget 在 Qt5.3_MinGW 中编译它时它可以工作,但是当我使用 QOpenGLWidget 在 Qt5.5_MinGW 中编译它时,它会弹出“未定义的对 `_imp__glPolygonMode@8' 的引用”等错误。我可以在源代码中进行哪些更改以消除此类错误? 或者,如果有人可以指点我从 QGLWidget 移植到 QOpenGLWidget,那也会有所帮助。

删除所有错误的一个快速技巧是:

CONFIG += c++11
LIBS   += -lopengl32
LIBS   += -lglu32
LIBS   += -lglut32

【问题讨论】:

  • LIBS += -lopengl32 添加到您的 *.pro 文件中。
  • @Paraboloid87 谢谢,它确实有效!
  • @Paraboloid87 我希望您已将此作为答案发布。

标签: c++ qt opengl qt5.5


【解决方案1】:

将 opengl32.lib 添加到链接器阶段链接的库中。

Paraboloid87 显示了添加 opengl32.lib 所需的确切代码:

LIBS += -lopengl32 添加到您的 *.pro 文件中。

【讨论】:

    【解决方案2】:

    感谢您的提示。我只是“开始”我的 Qt OpenGL 编程体验,使用 QOpenGLWidgets 并调用更改点大小:调用 glPointSize(GLFloat size) 导致未定义的引用。

    通过添加:

    CONFIG += c++11
    LIBS   += -lopengl32
    LIBS   += -lglu32
    LIBS   += -lglut32 
    

    在 .pro 文件中,程序通过构建并在调试模式下执行...显示顶点 + 彩色三角形。是时候多学习了....

    再次感谢您的提示。

    【讨论】:

      猜你喜欢
      • 2018-01-17
      • 2017-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-20
      • 1970-01-01
      • 2013-02-14
      • 2019-04-13
      相关资源
      最近更新 更多