【问题标题】:Static Qt program build in VS2013 - a lot of unresolved externalsVS2013 中构建的静态 Qt 程序 - 大量未解决的外部问题
【发布时间】:2014-06-16 07:53:14
【问题描述】:

在尝试正确构建 Qt 之后,我终于做到了:

configure -static -debug-and-release -developer-build -mp -opengl desktop -platform win32-msvc2013 -no-webkit -qt-zlib

/MT, MTd mkspecs\win32-msvc2013\qmake.conf 中的标志
但对我帮助不大。

我正在使用带有 QT 插件 1.2.3 的 VS2013 Pro,当我尝试编译插件模板时,我收到 55 个未解决的外部错误,其中大部分来自 OpenGL,所以我将 opengl32.lib 添加到链接器,并且错误数减少到 42,但仍然大部分来自 OpenGL。像 GLU32 或 Qt5OpenGL 这样的库根本没有帮助我。

这里有几个来自链接器的未解决的外部符号错误:

_WSAAsyncSelect@16 referenced in function "private: void __thiscall QEventDispatcherWin32::createInternalHwnd(void)" (?createInternalHwnd@QEventDispatcherWin32@@AAEXXZ)
_glBindBuffer@8 referenced in function "public: bool __thiscall QOpenGLBuffer::bind(void)" (?bind@QOpenGLBuffer@@QAE_NXZ)
_glCompileShader@4 referenced in function "public: bool __thiscall QOpenGLShaderPrivate::compile(class QOpenGLShader *)" (?compile@QOpenGLShaderPrivate@@QAE_NPAVQOpenGLShader@@@Z)
_glUniform4fv@12 referenced in function "public: void __thiscall QOpenGLFunctions::glUniform4fv(int,int,float const *)" (?glUniform4fv@QOpenGLFunctions@@QAEXHHPBM@Z)

对我来说这很奇怪,因为这些错误来自核心 gl lib,它是链接的:

qtmain.lib
Qt5Core.lib
Qt5Gui.lib
Qt5Widgets.lib
opengl32.lib

有人知道怎么解决吗?

【问题讨论】:

    标签: c++ qt opengl linker


    【解决方案1】:

    你能告诉我们你从Qt website下载了哪个Qt版本吗?

    另外,你必须小心,因为 Qt 默认不与 openGL 捆绑,你必须下载正确的版本(名称中显然带有 openGL 的版本)

    希望对你有帮助!

    【讨论】:

    • 它是用于 Windows x64 VS 2013 OpenGL 的 Qt 5.3.0。我大概想通了。我有 OpenGL 1.0(?) 但在 QT 中是更高版本,而且我的 OGL 有几个函数,这会导致错误。那么...如何包含更高版本的 OGL? (或构建?)我需要 .lib 文件,但我所知道的 >1.0 版本只是在标题中(glew ex.),但是当我添加它们时,没有任何改变。
    • 我不明白即使您安装了包含 OGL 的 Qt 5.3.0,您如何只能拥有 OGL 1.0... 我试图重现您的错误但找不到在我的机器上只有 openGL 1.0 版的方法。我会尽快在另一台电脑上看看。
    • 你的显卡是什么?
    • 来自制造商网站:GTX 550Ti 您的显卡支持到 4.2 版本...请重新安装您的显卡驱动程序,可能是这里的问题。 Driver DL page
    • 我觉得它与卡无关,看起来编译器无法识别系统中的库。
    【解决方案2】:

    您可以尝试以下库:

    imm32.lib winmm.lib Ws2_32.lib qtharfbuzzng.lib

    这对我有用:https://stackoverflow.com/a/27807379/4415923

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-19
      • 2014-01-03
      • 2020-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多