在Qt中使用OpenGL时链接器错误

时间:2013-02-03 21:04:51

标签: qt visual-c++ opengl linker

我正在尝试将OpenGL与Qt一起使用。 我正在关注这个例子:http://qt-project.org/doc/qt-5.0/qtgui/openglwindow.html使用Qt 5 build for msvc2012。最后我收到以下错误:

  1. 错误LNK2019:解析外部符号_ 小鬼 _glClear @ 4在函数引用 “公共:虚拟无效__thiscall OpenGLWindow ::渲染(无效)” d(渲染@ @@ OpenGLWindow UAEXXZ):\ Documents \ Code \ Qt Projects \ qttest2 \ qttest2 \ openglwindow.obj qttest2
  2. 错误LNK2001:未解析的外部符号_ imp _glClear @ 4 D:\ Documents \ Code \ Qt Projects \ qttest2 \ qttest2 \ trianglewindow.obj qttest2
  3. 错误LNK2019:解析外部符号_ 小鬼 _glDrawArrays @ 12在函数引用 “公共:虚拟无效__thiscall TriangleWindow ::渲染(无效)” d(渲染@ @@ TriangleWindow UAEXXZ):\ Documents \ Code \ Qt Projects \ qttest2 \ qttest2 \ trianglewindow.obj qttest2
  4. 错误LNK2019:解析外部符号_ 小鬼 _glViewport @ 16在函数引用 “公共:虚拟无效__thiscall TriangleWindow ::渲染(无效)” d(渲染@ @@ TriangleWindow UAEXXZ):\ Documents \ Code \ Qt Projects \ qttest2 \ qttest2 \ trianglewindow.obj qttest2
  5. 错误LNK1120:3个未解析的外部D:\ Documents \ Code \ Qt Projects \ qttest2 \ Win32 \ Debug \ qttest2.exe qttest2
  6. 我可以看到它与OpenGL函数的链接有关,但我对链接知之甚少。

    即使我从OpenGLWindow示例中复制源代码,我也会收到错误。

4 个答案:

答案 0 :(得分:3)

您必须将opengl32.lib添加到链接库列表中。在QtCreator .pro文件中添加OpenGL模块应该可以解决问题

QT += opengl

答案 1 :(得分:2)

您是否在Pro文件中添加了OpenGL模块,如下所示:

QT += opengl

答案 2 :(得分:1)

如果使用Qt 5,则在项目文件(* .pro)

中添加下一个lib
LIBS += -LD:\Qt\5.5\mingw492_32\lib\libQt5OpenGL.a -lopengl32

D:\Qt\5.5\mingw492_32\lib\libQt5OpenGL.a是道路。

答案 3 :(得分:0)

在linux环境中[mesa]库安装可以解决问题。 [lib32-mesa,OpenGL规范的开源实现]

[pacman -S mesa ]       *Arch Linux 
[apt-get install mesa]  *ubuntu/Mint/Raspbian