Qt5.5 macdeployqt trouble with multimedia



  • I have an application (C++ & QML, some QtMultimedia use to embed videos) which has been building and working good on OS X throughout Qt5.x series.

    I just tried out Qt5.5.0 for the first time (coming from Qt5.4.1). I'm on OS X Yosemite 10.10.4, XCode 6.4.

    After working round QTBUG-46404 using the trick that issue suggests, I get a 5.5-built app bundle which works fine... until the QQuickView at the heart of my application loads a .qml file containing a video element, at which point the application logs

    file:///Users/timday/project/gtx-qtquick/cci/build/cci.app/CciResources/movie.qml:6:1: plugin cannot be loaded for module "QtMultimedia": Cannot load library /Users/timday/project/gtx-qtquick/cci/build/cci.app/Contents/PlugIns/quick/libdeclarative_multimedia.dylib: (dlopen(/Users/timday/project/gtx-qtquick/cci/build/cci.app/Contents/PlugIns/quick/libdeclarative_multimedia.dylib, 5): Library not loaded: @rpath/QtMultimediaQuick_p.framework/Versions/5/QtMultimediaQuick_p
      Referenced from: /Users/timday/project/gtx-qtquick/cci/build/cci.app/Contents/PlugIns/quick/libdeclarative_multimedia.dylib
      Reason: image not found) 
         import QtMultimedia 5.4 
    

    If I revert back to building against Qt 5.4.1, all - including the video - is well again.

    If I look at the macdeployqt logs at verbose=2, well it looks like it's pulling in multimedia stuff. And If I do find cci.app/ -name '*ultimedia*', on the 5.5.0 build it finds

    cci.app//Contents/Frameworks/QtMultimedia.framework
    cci.app//Contents/Frameworks/QtMultimedia.framework/QtMultimedia
    cci.app//Contents/Frameworks/QtMultimedia.framework/Versions/5/QtMultimedia
    cci.app//Contents/Frameworks/QtMultimediaWidgets.framework
    cci.app//Contents/Frameworks/QtMultimediaWidgets.framework/QtMultimediaWidgets
    cci.app//Contents/Frameworks/QtMultimediaWidgets.framework/Versions/5/QtMultimediaWidgets
    cci.app//Contents/PlugIns/quick/libdeclarative_multimedia.dylib
    cci.app//Contents/Resources/qml/QtMultimedia
    cci.app//Contents/Resources/qml/QtMultimedia/libdeclarative_multimedia.dylib
    

    and on 5.4.1 build, that shows

    cci.app//Contents/Frameworks/QtMultimedia.framework
    cci.app//Contents/Frameworks/QtMultimedia.framework/QtMultimedia
    cci.app//Contents/Frameworks/QtMultimedia.framework/Versions/5/QtMultimedia
    cci.app//Contents/Frameworks/QtMultimediaQuick_p.framework
    cci.app//Contents/Frameworks/QtMultimediaQuick_p.framework/QtMultimediaQuick_p
    cci.app//Contents/Frameworks/QtMultimediaQuick_p.framework/Versions/5/QtMultimediaQuick_p
    cci.app//Contents/Frameworks/QtMultimediaWidgets.framework
    cci.app//Contents/Frameworks/QtMultimediaWidgets.framework/QtMultimediaWidgets
    cci.app//Contents/Frameworks/QtMultimediaWidgets.framework/Versions/5/QtMultimediaWidgets
    cci.app//Contents/PlugIns/quick/libdeclarative_multimedia.dylib
    cci.app//Contents/Resources/qml/QtMultimedia
    cci.app//Contents/Resources/qml/QtMultimedia/libdeclarative_multimedia.dylib
    

    which is an additional 3 files:

    cci.app//Contents/Frameworks/QtMultimediaQuick_p.framework
    cci.app//Contents/Frameworks/QtMultimediaQuick_p.framework/QtMultimediaQuick_p
    cci.app//Contents/Frameworks/QtMultimediaQuick_p.framework/Versions/5/QtMultimediaQuick_p
    

    Is this a bug? (Will raise on Jira if so). Or just me, or something else expected/needed? (I'm just a tourist on OS X).

    (Obviously next thing I'll try is manually fixing up the 5.5.0-built bundle with manual copies... not tried yet though).


  • Lifetime Qt Champion

    Hi,

    Sounds like a regression, please open a ticket and provide a minimal compilable example that reproduces this behavior.



  • Will do (may be a few days away); somewhere on bitbucket I have a little "qmltoy" I've used for minimal complete bug demos; would make a good example assuming it reproduces issue.



  • Issue created at QTBUG-47390



Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.