[CMake] macosx, bundle, qt4:

Petr Vanek petr at scribus.info
Thu Oct 21 15:20:11 EDT 2010


hi all,

I have an app which I'm trying to bundle with BundleUtilities. It looks like everything is copied into its place. Otool -L shows that every external ib is prefixed with @executable_path including qt4 frameworks and qt4 plugins.

Qt4 is built as a "intel universal (i386;x86_64)"

When I try to run the app I'm getting famous "Class QMacSoundDelegate is implemented in both..." for all Qt4 image plugins. DYLD_PRINT_LIBRARIES=1 output:

dyld: loaded: /opt/local/libexec/qt4-mac/plugins/imageformats/libqgif.dylib
dyld: loaded: /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui
dyld: loaded: /opt/local/libexec/qt4-mac/lib/QtCore.framework/Versions/4/QtCore
dyld: loaded: /opt/local/lib/libz.1.dylib
dyld: loaded: /opt/local/lib/libpng12.0.dylib
objc[94052]: Class QCocoaColorPanelDelegate is implemented in both /Users/pvanek/oss/juffed/release-bundle/juffed.app/Contents/./MacOS/../Frameworks/QtGui.framework/Versions/4/QtGui and /opt/local/libexec/qt4-mac/lib/QtGui.framework/Versions/4/QtGui. One of the two will be used. Which one is undefined.
etc.

if I try to lookup the libqgif.dylib in the bundle, only this can be found.

rimmer:release-bundle pvanek$ find . -type f|xargs otool -L|grep libqgif
./juffed.app/Contents/plugins/imageformats/libqgif.dylib:
        @executable_path/../MacOS/libqgif.dylib (compatibility version 0.0.0, current version 0.0.0)

what could be the reason?

all the best,
petr vanek



More information about the CMake mailing list