Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
Description
Many resource object files were not added into generated .prl files, which led to undefined symbol linker errors when linking a final application using qmake and a static build of Qt.
See https://bugreports.qt.io/browse/QTBUG-87702 and https://bugreports.qt.io/browse/QTBUG-88425 and their fixes for details.
After those fixes, we process and include resource object files only for the repo that is being built. Aka, prl files for qtdeclarative modules will only include resource object files that were built as part of qtdeclarative, but will not inherit resource object files that were built as part of qtbase (e.g. mimetypes).
Depending on the project, and which dependencies are explicitly listed in the QT += qmake section (as well as imported plugins and qml plugins), this could lead to linker errors or worse, runtime errors, due to missing resource initialisation.
We need to export resource object file information for a built repo (qtbase), in a way that can then be used in leaf repos (qtdeclarative), so that the lear repo prl files contain resource object files for all dependent modules / plugins across all repos.
Attachments
Issue Links
- resulted from
-
QTBUG-87702 [REG 5.15.1->6.0.0] qml/quick examples crash when running on iPad
- Closed
-
QTBUG-88425 Qt Quick 3D applications don't link in 6.0.0 Beta4 on iOS
- Closed