我正在尝试在 Qt 中使用和制作 DLL。DLL,不使用任何 Qt 框架。这是我图书馆的 .pro 文件:
TARGET = MyLib
TEMPLATE = lib
include(Botan.pri)
win32:INCLUDEPATH += "C:/botan/include"
win32:LIBS += "C:/botan/libBotan.a"
unix:INCLUDEPATH += "/usr/local/include/botan-1.10"
unix:LIBS += "/usr/local/lib/libbotan-1.10.a"
HEADERS += \
HEADERS HERE
SOURCES += \
SOUCRES HERE
我的库编译成功,并且在我的调试/发布文件夹中得到了一个 MyLib.dll。然后我完全复制了我的库源,并删除了除“includes”文件夹的头文件之外的所有内容。
然后我创建了一个新项目来使用我的库。
我将此添加到我的项目文件中:
INCLUDEPATH += "C:/Users/Stevie/Desktop/MyLib/include"
LIBS += "C:/Users/Stevie/Desktop/MyLib/MyLib.dll"
标头没有问题,它发现我的 DLL 很好(如果我将它更改为不存在的路径,它会引发错误。它现在还没有。)
现在,当我进入我的“.cpp”文件时,我包含了我的头文件,并尝试使用我的库,它会抛出“未定义的引用MyLib::
...”。我不知道为什么,因为我包含了 DLL,并且我相信它应该非常好。
此外,我 99% 确定它与 Botan 无关,因为我经常这样使用 Botan,而且效果很好。无论如何,为了确定,我无论如何都包含了“Botan.dll”,但它不会在 Botan 上抛出未定义的错误。
谢谢。