提问人:Andres Salas 提问时间:6/19/2020 更新时间:6/19/2020 访问量:174
LNK 2019 错误:Qt 项目在 MINGW 中工作,而不是在 MSVC 中工作
LNK 2019 Error: Qt Project works in MINGW, not in MSVC
问:
我有一个包含多个链接库的项目。一个特定的库链接到另一个库并调用一个符号,链接器声称该符号是未定义的。
我已经链接到在 .pro 文件中应该有这个符号的库,如下所示:
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../SourceLibrary/release/ -lSourceLibrary
else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../SourceLibrary/debug/ -lSourceLibrary
else:unix: LIBS += -L$$OUT_PWD/../SourceLibrary/ -lSourceLibrary
INCLUDEPATH += $$PWD/../SourceLibrary
DEPENDPATH += $$PWD/../SourceLibrary
这使用 MINGW 正确链接,所以我不担心库名称或函数定义/声明中的拼写错误。
在 Dependencies 中检查了 SourceLibrary 后,我注意到所需的符号确实不存在。
这导致我检查了 SourceLibrary 的 Makefile,但是具有所需符号的文件似乎以与其他具有符号的文件相同的方式引用。
我还检查了应该包含带有 dumpbin 的符号的中间 .obj 文件,该文件确实有这些符号,并且与链接器错误报告具有相同的修改。
使用 dumpbin /ALL 的进一步调查显示,这些符号位于 SourceLibrary.dll 文件中,与依赖项以及链接器错误相矛盾。
总之,我不明白为什么链接器和依赖项都看不到应该在库中的符号。我怀疑 MSVC/MINGW 编译器存在差异,但显然目前只有怀疑。
答: 暂无答案
评论