【问题标题】:Qt 5: shared and static librariesQt 5:共享库和静态库
【发布时间】:2013-08-20 11:19:12
【问题描述】:

documentation 不清楚,一旦 Qt (> 5.0) 在静态模式下重建,是否可以构建使用共享库的可执行文件。

我需要构建使用共享库的可执行文件和没有它们也可以使用的可执行文件。我是否需要为此安装两个单独的 Qt,或者是否可以使用标志来指定所需的行为?

是否可以为此目的配置 QtCreator?

平台:Windows 7、MinGW32/GCC 4.8

【问题讨论】:

    标签: qt shared-libraries qt-creator qt5 static-linking


    【解决方案1】:

    我目前在 Windows 7 上以您描述的(几乎)完全相同的配置使用 Qt。唯一的问题是您必须为每个目的创建 2 个不同的编译工具包。

    对于静态编译,我有 mingw32 编译器,对于共享编译,我有 MSVC2010 32 位 SDK。

    编辑: 是的,我有一个静态构建的 Qt 4.8.4 (qmake) 版本,我有一个 Qt 5.0.0 MSVC2010 32bit (SDK)(通常构建)。我已经使用这两个版本创建了 2 个单独的“工具包”,并具有上述不同的编译器。您需要在 .pro 文件中包含以下行。在共享构建期间它会被忽略。

    #CONFIG += staticlib 
    

    【讨论】:

    • 在 QtCreator 中,我找不到任何可以让我指定是要使用静态库还是共享库的东西。我可以从文档中得到的是,当您构建 Qt 时,如果您在配置时指定 -static 参数,您将获得 Qt 的静态版本,您可以从中获得静态链接的可执行文件。
    • 好的,所以您确认要构建静态和动态链接的可执行文件,必须有两个单独的 Qt 安装。谢谢。
    猜你喜欢
    • 2011-07-23
    • 1970-01-01
    • 2011-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多