Qt在MacOS上创建dylib而不是bundle而忽略了这些标志

时间:2013-04-03 11:45:53

标签: macos qt bundle

我坚持使用Qt和它的标志来强制捆绑编译而不是Mac上的dylib。我找到并阅读了下一篇文章:http://qt-project.org/forums/viewthread/1119Qt Creator or qmake on MacOSX build library as ".so" not dylib,但是,我仍然无法使其发挥作用。

我有以下.pro:

macx {
    TEMPLATE = lib
    CONFIG += plugin
    QMAKE_LFLAGS_PLUGIN -= -dynamiclib
    QMAKE_LFLAGS_PLUGIN += -bundle
    QMAKE_EXTENSION_SHLIB = bundle

    # Sources, headers etc.
}

它根本不起作用。无论我推动什么选择 - 它仍然是dylib。 CONFIG += lib_bundle生成框架,这对我来说再也不起作用......

我想我错过了一些简单的事情,但到目前为止,我花了几个小时试图找出问题所在的位置并没有成功。

我很感激任何帮助。

1 个答案:

答案 0 :(得分:0)

后来的Qt版本可能不需要那么多调整,但这适用于Qt 4.8.1:

TEMPLATE = lib

macx {
    CONFIG += lib_bundle
    QMAKE_LFLAGS += -bundle
    QMAKE_LFLAGS_SHLIB -= -dynamiclib
    QMAKE_LFLAGS_VERSION = ""
    QMAKE_LFLAGS_COMPAT_VERSION = ""
    QMAKE_LFLAGS_SONAME = ""
}