【问题标题】:Compiling Qt 5.2.1 for win32-msvc fails due to Linker Errors由于链接器错误,为 win32-msvc 编译 Qt 5.2.1 失败
【发布时间】:2014-03-20 16:53:11
【问题描述】:

我正在尝试在 64 位 Win7 机器上编译 Qt 5.2.1(我想要 32 位二进制文​​件)。

我配置了

configure -debug-and-release -opensource -platform win32-msvc2012 -opengl desktop -nomake examples -nomake tests

我确实通过运行设置了编译器路径

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat

它编译了一段时间,但链接时失败。

这是错误输出:

link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /DLL /OUT:..\..\..\..\plugins\platforms\qwindowsd.dll @C:\Users\steffenh\AppData\Local\Temp\nm9509.tmp
   Creating library ..\..\..\..\plugins\platforms\qwindowsd.lib and object ..\..\..\..\plugins\platforms\qwindowsd.exp
dlldata.obj : error LNK2001: unresolved external symbol _Accessible2_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleAction_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleApplication_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleComponent_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleEditableText_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleHyperlink_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleHypertext_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleImage_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleRelation_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleTable_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleTable2_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleTableCell_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleText_ProxyFileInfo
dlldata.obj : error LNK2001: unresolved external symbol _AccessibleValue_ProxyFileInfo
..\..\..\..\plugins\platforms\qwindowsd.dll : fatal error LNK1120: 14 unresolved externals
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\link.EXE"' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

有人可以帮我吗?

最好, S.H


更新

Qt 似乎试图链接 Microsoft Active Accessibility,其主文件是“oleacc.dll”,位于系统路径中。

如何检查是 32 位还是 64 位?

【问题讨论】:

    标签: c++ qt compilation linker-errors


    【解决方案1】:

    当我通过

    添加 VERBOSE 链接器标志时,链接有效

    “QMAKE_LFLAGS += /VERBOSE”到“mkspecs/qconfig.pri”

    (这不应该改变任何东西,但它有效)。

    Qt Bug 描述在这里:https://bugreports.qt-project.org/si/jira.issueviews:issue-html/QTBUG-37910/QTBUG-37910.html

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-28
    • 2023-03-21
    • 1970-01-01
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    相关资源
    最近更新 更多