【发布时间】:2013-07-17 13:30:40
【问题描述】:
我使用 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。
克里斯
【问题讨论】:
标签: qt g++ mingw shared-libraries