在Windows上,我尝试通过Qt Creator将外部DLL添加到我的Qt项目中。我尝试引用以下生成的工件:
添加库/ dll会在我的.pro
文件中生成以下条目:
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/target/release/ -lmylib.dll
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/target/debug/ -lmylib.dll
INCLUDEPATH += $$PWD/target/debug
DEPENDPATH += $$PWD/target/debug
Qt希望“ mylib.dll.lib”被命名为“ mylib.lib”,因此使用上述配置,构建将失败,并显示以下错误:
error: LNK1104: cannot open file 'mylib.lib'
如果我将“ mylib.dll.lib”重命名为“ mylib.lib”,则构建可以正常工作,但是,如果可能的话,我不想引入这一额外步骤。 dll.lib
后缀由Rust / Cargo和there aren't any plans to allow this to be configured生成。
做完一些研究之后,我尝试了几种不同的选择,包括在PRE_TARGETDEPS
中引用它,但是我无法使LNK1104
错误消失。我想念什么?
答案 0 :(得分:0)
我知道了。诀窍是直接引用文件(即不使用-L / -l
参数),如下所示:
win32:CONFIG(release, debug|release): LIBS += $$PWD/target/release/mylib.dll.lib
else:win32:CONFIG(debug, debug|release): LIBS += $$PWD/target/debug/mylib.dll.lib
win32:CONFIG(release, debug|release): LIBS += $$PWD/target/release/mylib.dll
else:win32:CONFIG(debug, debug|release): LIBS += $$PWD/target/debug/mylib.dll