【发布时间】:2015-06-10 09:46:58
【问题描述】:
我有一个使用以下模块的 Qt Quick 应用程序
QT = core gui qml quick widgets \
core-private gui-private \
multimedia printsupport`
我在 OS X 上部署。现在我的主要二进制文件以及许多 Qt Qtick 插件都显示出对 Qt Network 的依赖。
otool -L /path/to/My.app/Contents/MacOS/My
/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 55471.14.18)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1056.16.0)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)
@executable_path/../Frameworks/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.4.0, current version 5.4.2)
@executable_path/../Frameworks/QtGui.framework/Versions/5/QtGui (compatibility version 5.4.0, current version 5.4.2)
@executable_path/../Frameworks/QtCore.framework/Versions/5/QtCore (compatibility version 5.4.0, current version 5.4.2)
/System/Library/Frameworks/DiskArbitration.framework/Versions/A/DiskArbitration (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)
@executable_path/../Frameworks/QtQml.framework/Versions/5/QtQml (compatibility version 5.4.0, current version 5.4.2)
/Users/me/Qt/5.4/clang_64/lib/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.4.0, current version 5.4.2)
@executable_path/../Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport (compatibility version 5.4.0, current version 5.4.2)
@executable_path/../Frameworks/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.4.0, current version 5.4.2)
@executable_path/../Frameworks/QtMultimedia.framework/Versions/5/QtMultimedia (compatibility version 5.4.0, current version 5.4.2)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 855.17.0)
在以下插件中可以找到对 Qt Network 的相同依赖
My.app/Contents/Frameworks/QtMultimedia.framework/Versions/5/QtMultimedia
My.app/Contents/Frameworks/QtMultimediaQuick_p.framework/Versions/5/QtMultimediaQuick_p
My.app/Contents/Frameworks/QtQml.framework/Versions/5/QtQml
My.app/Contents/Frameworks/QtQuick.framework/Versions/5/QtQuick
My.app/Contents/Plugins/audio/libqtaudio_coreaudio.dylib
My.app/Contents/Resources/qml/QtMultimedia/libdeclarative_multimedia.dylib
My.app/Contents/Resources/qml/QtQuick/Controls/libqtquickcontrolsplugin.dylib
My.app/Contents/Resources/qml/QtQuick/Dialogs/libdialogplugin.dylib
My.app/Contents/Resources/qml/QtQuick/Dialogs/Private/libdialogsprivateplugin.dylib
My.app/Contents/Resources/qml/QtQuick/Layouts/libqquicklayoutsplugin.dylib
My.app/Contents/Resources/qml/QtQuick/PrivateWidgets/libwidgetsplugin.dylib
My.app/Contents/Resources/qml/QtQuick/Window.2/libwindowplugin.dylib
My.app/Contents/Resources/qml/QtQuick.2/libqtquick2plugin.dylib
- 是否可以在没有 Qt 网络的情况下使用 Qt Quick?
- 是否有 Qt 的模块依赖文档?
我不明白为什么 Qt Network 中的依赖项被编译成我自己的二进制文件。
【问题讨论】:
-
QtQml 依赖于 QtNetwork。查看 Qt 源代码,似乎没有它就无法构建它。
-
感谢@FrankOsterfeld。我认为很好地回答了问题的第 1 部分。随意添加这个作为答案。