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

WebAssembly: enhancements to dynamic linking



    • Task
    • Resolution: Unresolved
    • P2: Important
    • 6.7
    • None
    • QPA
    • None


      Overview / Intro

      By default Qt for WebAssembly binaries are statically linked, where all object files are combined into a single .wasm binary. This has several advantages such as allowing for relatively simple distribution, where only small number of files needs to be deployment. In addition static linking enables size and performance optimizations such as dead code elimination and link-time optimization.

      We introduced TP support for dynamic linkin in Qt 6.6 but a number of enhancements are still needed:

      • Make multithreaded shared library builds work (QTBUG-114256)
      • Make plugin loading work on Chrome (may require async emscripten_dlopen())
      • Investigate Qt Quick Controls missing symbol error
      • Test more modules (Qt Quick3D, Slate app, ++)
      • Implement / demo just-in-time plugin loading (alternative to preloading).
      • Link the (static) wasm platform plugin to QtGui (currently links to the app)
      • Investigate if calling dlopen() on a secondary thread is possible
      • Investigate emscripten_dlopen() and asyncify
      • Investigate bug where emscripten_dlopen() appears to bypass the in-memory file system
      • Investigate use of MAIN_MODULE=2
      • Support cmake install and qt_generate_deploy_app_script() QTBUG-113849




        Issue Links

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



              veheinon Veli-Pekka Heinonen
              veheinon Veli-Pekka Heinonen
              Veli-Pekka Heinonen Veli-Pekka Heinonen
              2 Vote for this issue
              2 Start watching this issue



                Gerrit Reviews

                  There are no open Gerrit changes