簡體   English   中英

我在QT中使用opengl32,但是當我包含glut.h時,發生鏈接錯誤

[英]I am using opengl32 in QT, but when I include glut.h, a link error occurs

FORMS    += mainwindow.ui
LIBS += -lopengl32 -lglut32 //(error is here, the second term)


win32:CONFIG(release, debug|release): LIBS += -LC:/ (path to some lib) -l(a good lib that is not regarding to this question)
else:win32:CONFIG(debug, debug|release): LIBS += -LC:/ (path to some lib) -l(a lib)
INCLUDEPATH += C:/(path to some directory)
DEPENDPATH += C:/(path to some directory)

當我只使用-lopengl32並將openGLWidget連接到mainWindow時,它可以很好地工作,這意味着我可以使用opengl庫中的所有功能。 但是現在我需要對在openglwidget.h之外創建的另一個h文件(在此處命名為xh)使用一個函數,所以我只需要添加<GL/glut.h> 看來QT可以在編譯整個項目之前找到glut.h文件,換句話說,關鍵字'GLfloat'的紫色表示xh已成功調用glut.h。但是,當我編譯項目時,發生鏈接問題:

 :-1: error: LNK1181: cannot open input file 'glut32.lib'

我認為不需要為glut32.lib指定詳細路徑,因為它在我的Visual Studio的庫路徑中。 無論我是否將-lglut32放在qmake文件中,都會發生該錯誤。

另外,不僅對於glut32.lib,還說我還有另一個y.lib可以在我的visual studio 2015中運行而沒有任何錯誤,但是當我在QT項目中使用此y.lib時,仍然會出現相同的問題。 編譯器只是無法正確找到lib文件。 錯誤與我上面發布的錯誤相同。

因此,我的問題可以簡化為:當openGL庫不是QT中mainWindow的小部件類時,應如何使用? 謝謝大家提供的任何建議!

好的,您只需在我的xh中添加#include <QOpenGLWidget>即可解決此問題:

看來我們不需要QT項目的其他應用程序框架(例如GLUT)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM