Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-88736

Include cross-repo resource object files in generated prl files for Qt static builds

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Unresolved
    • Icon: P2: Important P2: Important
    • None
    • None
    • Build System: CMake

      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.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            qtbuildsystem Qt Build System Team
            alexandru.croitor Alexandru Croitor
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes