0

我对 Qt 相当陌生,并且在为我的应用程序构建独立的可执行文件时遇到了麻烦。它有 OpenGL 小部件,我使用了 glut32 库。问题是我在调试模式下一直很好,但是按照这里给出的步骤操作:

如何为 Qt 应用程序创建可执行文件?

在发布模式下构建它时会出错:

" 对 ___glutInitWithExit 的未定义引用"

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

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

4

1 回答 1

0

对于静态单个可执行文件,您首先需要 QT 的商业许可证。话虽这么说,您可以更改 $QTDIR\mkspecs\$COMPILEVERSION\qmake.conf 中的 mkspecs 以使用静态链接。例如 win32-msvc2008 (2008 Visual Studio Compiler) 设置 CFLAGS 和 CXXFLAGS 从

QMAKE_CFLAGS_RELEASE    = -O2 -MD

QMAKE_CFLAGS_RELEASE    = -O2 -MT

(MD => MT,MDd => MTd)。此外,您将使用 QT 和 GLUT 的静态库。这些通常以 .lib(而不是 .dll)结尾。您可能需要从 Source 编译 QT 以获得静态兼容库。编译 QT 时记得使用 opengl 支持进行编译。在http://qt-project.org/wiki/Build_Static_Qt_For_Windows_With_Gcc_German上有一个很好的 gcc 文档,您还可以找到 MSVC 的示例。

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

CONFIG += static

并包含您的库:

LIBS += -Lpath/to/glutlib -lglut
于 2013-07-05T10:52:40.797 回答