Details
-
Bug
-
Resolution: Fixed
-
Not Evaluated
-
None
-
2.3.1
-
None
-
-
fb89102b5 (master)
Description
When building a simple project using Qt Quick for the iOS-simulator I get a linker warning saying "ignoring duplicate libraries".
The command line contains lots of duplicate frameworks but the libraries it complains about are contained in the generated "plugins.list.d" file.
The following project reproduces this behavior:
test.qbs
CppApplication { name: "TestApp" Depends { name: "Qt.quickcontrols2" } files: [ "test.cpp", "test.qml" ] }
test.qml
import QtQuick.Controls
ApplicationWindow {}
test.cpp
int main(){}
This is the output I get when building the above with a profile created with "setup-qt" for Qt 6.6.3 whose parent profile is the default created x86_64 iOS simulator profile:
linking TestApp [TestApp] /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -Wl,-arch,x86_64,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.2.sdk,-e,_qt_main_wrapper,-force_load,/Users/lbuckel/Qt/6.6.3/ios/plugins/platforms/libqios_debug.a -stdlib=libc++ -L/Users/lbuckel/Qt/6.6.3/ios/lib -L/Users/lbuckel/Qt/6.6.3/ios/plugins/platforms -target x86_64-apple-ios14.0-macho -o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/.tmp/TestApp /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qgif.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qico.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qios.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qjpeg.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qmldbg_debugger.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qmldbg_inspector.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qmldbg_local.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qmldbg_messages.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qmldbg_native.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qmldbg_nativedebugger.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qmldbg_preview.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qmldbg_profiler.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qmldbg_quickprofiler.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qmldbg_server.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qmldbg_tcp.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qscnetworkreachability.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qsecuretransportbackend.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qsvg.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/TestApp_qt_plugin_import_qsvgicon.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/qml_plugin_import.cpp.o /Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/3a52ce780950d4d9/test.cpp.o -framework OpenGLES -framework ImageIO -framework CoreGraphics -framework CoreText -framework Metal -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework OpenGLES -framework ImageIO -framework CoreGraphics -framework CoreText -framework Metal -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework MobileCoreServices -framework OpenGLES -framework ImageIO -framework CoreFoundation -framework CoreGraphics -framework Foundation -framework CoreText -framework UIKit -framework Metal -framework IOKit -framework MobileCoreServices -framework OpenGLES -framework ImageIO -framework CoreFoundation -framework CoreGraphics -framework Foundation -framework CoreText -framework UIKit -framework Metal -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework MobileCoreServices -framework OpenGLES -framework ImageIO -framework CoreFoundation -framework CoreGraphics -framework Foundation -framework CoreText -framework UIKit -framework Metal -framework AudioToolbox -framework QuartzCore -framework IOKit -framework MobileCoreServices -framework OpenGLES -framework ImageIO -framework CoreFoundation -framework CoreGraphics -framework Foundation -framework CoreText -framework UIKit -framework Metal -framework AssetsLibrary -framework UniformTypeIdentifiers -framework Photos -framework IOKit -framework MobileCoreServices -framework OpenGLES -framework ImageIO -framework CoreFoundation -framework CoreGraphics -framework Foundation -framework CoreText -framework UIKit -framework Metal -framework IOKit -framework MobileCoreServices -framework OpenGLES -framework ImageIO -framework CoreFoundation -framework CoreGraphics -framework Foundation -framework CoreText -framework UIKit -framework Metal -framework IOKit -framework MobileCoreServices -framework OpenGLES -framework ImageIO -framework CoreFoundation -framework CoreGraphics -framework Foundation -framework CoreText -framework UIKit -framework Metal -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework OpenGLES -framework ImageIO -framework CoreGraphics -framework CoreText -framework Metal -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework MobileCoreServices -framework OpenGLES -framework ImageIO -framework CoreFoundation -framework CoreGraphics -framework Foundation -framework CoreText -framework UIKit -framework Metal -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework OpenGLES -framework ImageIO -framework CoreGraphics -framework CoreText -framework Metal -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework MobileCoreServices -framework OpenGLES -framework ImageIO -framework CoreFoundation -framework CoreGraphics -framework Foundation -framework CoreText -framework UIKit -framework Metal -framework UIKit -framework QuartzCore -framework CoreText -framework CoreGraphics -framework Foundation -framework CoreFoundation -framework AudioToolbox -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework IOKit -framework Foundation -framework MobileCoreServices -framework UIKit -framework CoreFoundation -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework CoreFoundation -framework Foundation -framework MobileCoreServices -framework UIKit -framework Foundation -framework CoreFoundation /Users/lbuckel/Qt/6.6.3/ios/plugins/tls/libqsecuretransportbackend_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/networkinformation/libqscnetworkreachability_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/imageformats/libqsvg_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/iconengines/libqsvgicon_debug.a /Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/objects-Debug/QuickControls2_resources_1/.rcc/qrc_qmake_QtQuick_Controls.cpp.o /Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Templates/objects-Debug/QuickTemplates2_resources_1/.rcc/qrc_qmake_QtQuick_Templates.cpp.o /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QuickControls2_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QuickTemplates2_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6Svg_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/imageformats/libqjpeg_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6BundledLibjpeg_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/platforms/libqios_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/imageformats/libqico_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/imageformats/libqgif_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/qmltooling/libqmldbg_tcp_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/qmltooling/libqmldbg_server_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/qmltooling/libqmldbg_quickprofiler_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/qmltooling/libqmldbg_profiler_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/qmltooling/libqmldbg_preview_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/qmltooling/libqmldbg_nativedebugger_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/qmltooling/libqmldbg_native_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/qmltooling/libqmldbg_messages_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/qmltooling/libqmldbg_local_debug.a /Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/objects-Debug/Quick_resources_1/.rcc/qrc_qmake_QtQuick.cpp.o /Users/lbuckel/Qt/6.6.3/ios/lib/objects-Debug/Quick_resources_2/.rcc/qrc_scenegraph_shaders.cpp.o /Users/lbuckel/Qt/6.6.3/ios/qml/QtQml/Models/objects-Debug/QmlModels_resources_1/.rcc/qrc_qmake_QtQml_Models.cpp.o /Users/lbuckel/Qt/6.6.3/ios/plugins/qmltooling/libqmldbg_inspector_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6Quick_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QmlModels_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6OpenGL_debug.a /Users/lbuckel/Qt/6.6.3/ios/plugins/qmltooling/libqmldbg_debugger_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6PacketProtocol_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6Qml_debug.a @/Users/lbuckel/git/qbs-test/.build/default/TestApp.93c1d015/plugins.list.d /Users/lbuckel/Qt/6.6.3/ios/qml/QtQml/Base/objects-Debug/Qml_resources_1/.rcc/qrc_qmake_QtQml_Base.cpp.o /Users/lbuckel/Qt/6.6.3/ios/lib/objects-Debug/Qml_resources_2/.rcc/qrc_qmlMetaQmldir.cpp.o /Users/lbuckel/Qt/6.6.3/ios/lib/objects-Debug/Gui_resources_1/.rcc/qrc_qpdf.cpp.o /Users/lbuckel/Qt/6.6.3/ios/lib/objects-Debug/Gui_resources_2/.rcc/qrc_gui_shaders.cpp.o /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6Gui_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6BundledHarfbuzz_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6BundledFreetype_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6BundledLibpng_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6Network_debug.a /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6Core_debug.a -lz -lm /Users/lbuckel/Qt/6.6.3/ios/lib/libQt6BundledPcre2_debug.a -framework AssetsLibrary -framework UniformTypeIdentifiers -framework Photos -framework OpenGLES -framework ImageIO -framework Metal -framework QuartzCore -framework CoreText -framework CoreGraphics -framework AudioToolbox -framework Security -framework CFNetwork -framework SystemConfiguration -framework IOKit -framework MobileCoreServices -framework UIKit -framework Foundation -framework CoreFoundation ld: warning: ignoring duplicate libraries: '-lm', '-lz', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6BundledFreetype_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6BundledHarfbuzz_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6BundledLibpng_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6BundledPcre2_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6Core_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6Gui_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6Network_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6OpenGL_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QmlModels_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6Qml_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QuickControls2BasicStyleImpl_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QuickControls2FusionStyleImpl_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QuickControls2IOSStyleImpl_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QuickControls2ImagineStyleImpl_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QuickControls2Impl_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QuickControls2MaterialStyleImpl_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QuickControls2UniversalStyleImpl_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QuickControls2_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6QuickTemplates2_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/lib/libQt6Quick_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQml/Base/libqmlplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQml/Models/libmodelsplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQml/WorkerScript/libworkerscriptplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQml/libqmlmetaplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/Basic/impl/libqtquickcontrols2basicstyleimplplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/Basic/libqtquickcontrols2basicstyleplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/Fusion/impl/libqtquickcontrols2fusionstyleimplplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/Fusion/libqtquickcontrols2fusionstyleplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/Imagine/impl/libqtquickcontrols2imaginestyleimplplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/Imagine/libqtquickcontrols2imaginestyleplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/Material/impl/libqtquickcontrols2materialstyleimplplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/Material/libqtquickcontrols2materialstyleplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/Universal/impl/libqtquickcontrols2universalstyleimplplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/Universal/libqtquickcontrols2universalstyleplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/iOS/impl/libqtquickcontrols2iosstyleimplplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/iOS/libqtquickcontrols2iosstyleplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/impl/libqtquickcontrols2implplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Controls/libqtquickcontrols2plugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Shapes/libqmlshapesplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Templates/libqtquicktemplates2plugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/Window/libquickwindowplugin_debug.a', '/Users/lbuckel/Qt/6.6.3/ios/qml/QtQuick/libqtquick2plugin_debug.a'
All in all I could find three separate locations where static libraries are listed which might conflict with each other:
- The staticLibs property in the generated quickcontrols2 module
- A group in said module containing the actual file of the static lib tagged as "staticlibrary" and using "filesAreTargets: true"
- The "plugins.list" file which is generated in qml.qbs and contains many duplicate entries
Attachments
For Gerrit Dashboard: QBS-1798 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
579370,6 | Fix duplicate libraries in generated plugins.list | master | qbs/qbs | Status: MERGED | +2 | +1 |