C++ Qt创建者。为什么我在编译发布版本时会出现glut错误,而不是调试错误?

C++ Qt创建者。为什么我在编译发布版本时会出现glut错误,而不是调试错误?,c++,qt,build,release,glut,C++,Qt,Build,Release,Glut,我是Qt新手,为我的应用程序构建独立的可执行文件时遇到了问题。 它有OpenGL小部件,我使用了glut32库。 问题是,我一直在调试模式下构建它,但遵循这里给出的步骤: 在释放模式下构建时会出现错误: “对uuuuu glutInitWithExit的未定义引用” 这是完全相同的代码。我不明白为什么它在发布时遇到问题 我提前感谢任何帮助我构建独立可执行文件的提示。对于静态单一可执行文件,您首先需要QT的商业许可证。也就是说,您可以将$QTDIR\mkspecs\$COMPILERVERSIO

我是Qt新手,为我的应用程序构建独立的可执行文件时遇到了问题。 它有OpenGL小部件,我使用了glut32库。 问题是,我一直在调试模式下构建它,但遵循这里给出的步骤:

在释放模式下构建时会出现错误:

“对uuuuu glutInitWithExit的未定义引用”

这是完全相同的代码。我不明白为什么它在发布时遇到问题


我提前感谢任何帮助我构建独立可执行文件的提示。

对于静态单一可执行文件,您首先需要QT的商业许可证。也就是说,您可以将$QTDIR\mkspecs\$COMPILERVERSION\qmake.conf中的mkspec更改为使用静态链接。例如,win32-msvc2008(2008 Visual Studio编译器)从

QMAKE_CFLAGS_RELEASE    = -O2 -MD

(MD=>MT,MDd=>MTd)。此外,您还将看到QT和GLUT的静态libs。这些文件通常以.lib(而不是.dll)结尾。您可能需要从源代码处编译QT以获得静态兼容库。编译QT时,请记住使用opengl支持进行编译。在for gcc上有一个很好的文档,您还可以找到MSVC的示例

满足这些先决条件后,您仍然需要在Application pro文件中进行设置

CONFIG += static
并将您的库包括:

LIBS += -Lpath/to/glutlib -lglut

这意味着您需要链接GLUT库。我不知道Qt Creator,但例如在VisualStudio中,对于调试版本和发布版本,有单独的链接器配置。
LIBS += -Lpath/to/glutlib -lglut