我使用 Windows 上 Qt 5.0.2 提供的 MinGW 工具链编译了一个库。结果我收到了一个 library.so 文件。首先,我在 Qt 应用程序中使用库失败,但现在我发现当我复制liblibrary.so
文件并调用它时一切liblibrary.dll
正常liblibrary.lib
(这是 QtCreator 中添加库向导支持的唯一文件结尾)。
现在我想知道这是否正常,或者我是否应该更改某些内容以便不拥有两个文件(它们是精确的副本)。留下一个会导致应用程序在启动过程中崩溃。我将如下库添加到我的 Qt pro 文件中:
LIBS += -L"../path/to/library" -llibrary
INCLUDEPATH += $$quote(../path/to/library)
编辑:我使用 Qt 的 MinGW 编译库,而不是作为 Qt 项目,而是使用 mingw32-make 和提供的 Makefile。结果我得到了liblibrary.so
.
编辑:将副本重命名为 liblibrary.dll 而不是 .lib 时,它似乎也有效。但是,我仍然需要两个文件来使应用程序工作——.so 和 .dll。
克里斯