Nominate our 2022 Qt Champions!

Two versions of Qt binaries found

  • I want to deploy my application using Qt 4.8.6 on Mac OS X 10.10. I used macdeployqt to integrate the Qt framework into my .app package and build a .dmg image. I checked every dependency (yes, also of the Qt-framework itself) with "otool -L" and all are pointing to the relative Qt binaries integrated into the package:
    @executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui (compatibility version 4.8.0, current version 4.8.6)
    @executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.6)

    Still I get multiple errors of this kind:
    Class QCocoaColorPanelDelegate is implemented in both pathToApp/Contents/Frameworks/QtGui.framework/Versions/4/QtGui and /Library/Frameworks/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.

    When I copy the app to another Mac that hasn't got Qt installed it runs just fine. Therefore, there can't be any references to the system binaries of Qt since it wouldn't run.

    I also tried setting the dependencies manually with install_name_tool but with the same results. There is an ancient "thread": that describes the same issue but doesn't provide a solution that would help me.

  • Oops, I didn't mean to post this into Tools but rather into Installation and Deployment, sorry!

  • Lifetime Qt Champion


    No problem, I'll move it.

    Anyway, did you also check the various plugins ?

  • I'm not using an plugins and also setting the -no-plugins flag of macdeployqt. As I said, I also checked the interdependencies of the Qt framework itself and they are fine as well. Plus, since I can copy my .app to another Mac that hasn't got Qt I guess all dependencies must be OK...

  • Lifetime Qt Champion

    Qt uses plugins e.g. the platform plugin which provides QCocoaColorPanelDelegate

  • Holy crap, why didn't I simply try macdeployqt without -no-plugins ... omitting it works, thanks!

    However, this raised another issue: the OpenGL of my app is only visible if I start it from the terminal. Double clicking the .app simply doesn't show the 3D view without any errors...

  • Lifetime Qt Champion

    I just realized that I misled you on a point. Qt 4 doesn't have the platform plugin paradigm… it's for Qt 5

Log in to reply