【问题标题】:Why does my Qt app need libQt5Gui.so.5 when I don't use any GUI libs?当我不使用任何 GUI 库时,为什么我的 Qt 应用程序需要 libQt5Gui.so.5?
【发布时间】:2016-05-24 08:12:47
【问题描述】:

我有几个 qt 应用程序,据我所知,它们都没有使用和 GUI 元素。但是,其中之一在我部署时需要 libQt5Gui.so.5 库。

这个项目的主要区别是我使用了一些多媒体库:

#include <QAudioOutput>
#include <QAudioFormat>
#include <QAudioDeviceInfo>

该项目的 pro 文件如下所示(我明确删除了 gui 库):

QT       += core
QT       += network
QT       += multimedia
QT       += xml
QT       -= gui

TARGET    = Rpe
CONFIG   += console
CONFIG   -= app_bundle
TEMPLATE  = app

另一个不需要 libQt5Gui.so.5 的 pro 文件如下所示:

QT       += core
QT       += network
QT       += xml
QT       -= gui

TARGET    = Mvp
CONFIG   += console
CONFIG   -= app_bundle
TEMPLATE  = app

这是否意味着多媒体需要 gui 库?

【问题讨论】:

    标签: qt shared-libraries


    【解决方案1】:

    这是否意味着多媒体需要 gui 库?

    正是

    它使用基本的 GUI 类,例如:QImageQMovieQFontQColor、...

    当然还有许多来自 Gui 模块的其他模块。

    【讨论】:

    • 好的,谢谢。但我觉得很奇怪,因为我明确删除了 gui 模块 (CONFIG -= gui)...我想多媒体会覆盖这个,我希望出现一些错误或警告。
    • 在您的 .pro 文件中,您将从 your 构建过程中删除 Gui 模块。但是Multimedia模块是用QT += gui构建的,所以最后需要Gui模块。
    猜你喜欢
    • 2014-01-30
    • 2013-05-13
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 2021-02-21
    • 1970-01-01
    相关资源
    最近更新 更多