Hi guys,
I’m having troubles with deployment of QtQuick app on Mac os X. I’m using latest QT 5.1 and also QML Desktop Components.
After I build my Application in QtCreator, I checked on what libraries it depends:
otool -L TestDeployment.app/Contents/MacOS/TestDeployment
TestDeployment.app/Contents/MacOS/TestDeployment:
/Users/username/Qt5.1.0//5.1.0/clang_64/lib/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.1.0, current version 5.1.0)
/Users/username/Qt5.1.0//5.1.0/clang_64/lib/QtQml.framework/Versions/5/QtQml (compatibility version 5.1.0, current version 5.1.0)
/Users/username/Qt5.1.0//5.1.0/clang_64/lib/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.1.0, current version 5.1.0)
/Users/username/Qt5.1.0//5.1.0/clang_64/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.1.0, current version 5.1.0)
/Users/username/Qt5.1.0//5.1.0/clang_64/lib/QtGui.framework/Versions/5/QtGui (compatibility version 5.1.0, current version 5.1.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
Then I run macdeployqt utility:
~/Qt5.1.0/5.1.0/clang_64/bin/macdeployqt TestDeployment.app/
So QT Framework was copied inside app bundle, but the thing is that links to QT libraries was not changed to relative ones. When I run otool, i see:
otool -L TestDeployment.app/Contents/MacOS/TestDeployment
TestDeployment.app/Contents/MacOS/TestDeployment:
/Users/username/Qt5.1.0//5.1.0/clang_64/lib/QtQuick.framework/Versions/5/QtQuick (compatibility version 5.1.0, current version 5.1.0)
/Users/username/Qt5.1.0//5.1.0/clang_64/lib/QtQml.framework/Versions/5/QtQml (compatibility version 5.1.0, current version 5.1.0)
/Users/username/Qt5.1.0//5.1.0/clang_64/lib/QtNetwork.framework/Versions/5/QtNetwork (compatibility version 5.1.0, current version 5.1.0)
/Users/username/Qt5.1.0//5.1.0/clang_64/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.1.0, current version 5.1.0)
/Users/username/Qt5.1.0//5.1.0/clang_64/lib/QtGui.framework/Versions/5/QtGui (compatibility version 5.1.0, current version 5.1.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
So dynamik linker will not find qt libs inside app bundle.
I tried to run macdeploy qt utility with verbose=3 flag, but I don’t see any errors, moreover I see that it uses intall_name_tool to change links for dynamic linker, but somehow links in executable application were not changed.
Does any one faced the same issue? Is there any way to fix that?
↧