Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我在QT中使用opengl32,但当我包含glut.h时,会发生链接错误_Qt_Opengl_Linker Errors - Fatal编程技术网

我在QT中使用opengl32,但当我包含glut.h时,会发生链接错误

我在QT中使用opengl32,但当我包含glut.h时,会发生链接错误,qt,opengl,linker-errors,Qt,Opengl,Linker Errors,当我只使用-lopengl32并将我的openGLWidget连接到我的主窗口时,它工作得很好,这意味着我可以使用opengl库中的所有函数。但是现在我需要为在openglwidget.h之外创建的另一个h文件(这里称为x.h)使用一个函数,所以我只是简单地插入。QT似乎可以在我编译整个项目之前找到glut.h文件,换句话说,关键字“GLfloat”的紫色表示在我的x.h中成功调用了glut.h。但是,当我编译项目时,出现了链接问题: FORMS += mainwindow.ui LIBS

当我只使用-lopengl32并将我的openGLWidget连接到我的主窗口时,它工作得很好,这意味着我可以使用opengl库中的所有函数。但是现在我需要为在openglwidget.h之外创建的另一个h文件(这里称为x.h)使用一个函数,所以我只是简单地插入
。QT似乎可以在我编译整个项目之前找到glut.h文件,换句话说,关键字“GLfloat”的紫色表示在我的x.h中成功调用了glut.h。但是,当我编译项目时,出现了链接问题:

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)
我认为我不需要为glut32.lib指定详细的路径,因为它就在visual studio的库路径中。无论我是否将-lglut32放入qmake文件中,都会发生错误

此外,不仅对于glut32.lib,假设我有另一个y.lib可以在我的visual studio 2015中运行而不会出现任何错误,但在我的QT项目中使用此y.lib时仍然会出现相同的问题。编译器就是无法正确定位lib文件。这个错误与我上面发布的这个错误完全相同


所以我的问题可以简化为:当openGL库不是QT中主窗口的小部件类时,我应该如何使用它?谢谢你们给我任何建议

好了,伙计们,通过在我的x.h:)中添加
#include
,问题已经解决了。)


似乎我们不需要其他应用程序框架,如GLUT for QT project。

您已经在使用QT,为什么要尝试将其与另一个应用程序框架(如GLUT)结合使用?因为我想使用GLUT.h中声明的GLfloat,而我不能在我自己定义的x.h中使用它。需要明确的是,GLfloat可以在openglWidget中使用,而不是在x.h中使用。在
GLUT.h
中定义
GLfloat
而不是在
gl.h
中使用声明的地方,您使用的是哪个GLUT实现{Q_OBJECT这是我当前的openglWidget.h,我对
#include
进行了评论,并将其放在我的x.h中,现在它工作正常。谢谢你回答dude。
 :-1: error: LNK1181: cannot open input file 'glut32.lib'