如何在Mac OS-X上部署Qt3D应用程序

时间:2012-10-11 07:57:12

标签: macos qt deployment

如果我使用

在OS-X上部署demo-app sphere.app

macdeployqt sphere.app

并尝试使用

启动它

sphere.app/Contents/MacOS/sphere

我收到错误消息

file:///Users/dev/src/qt3d-1.0-src/bin/sphere.app/Contents/Resources/qml/sphere.qml:42:1:模块“Qt3D”未安装      导入Qt3D 1.0

otool -L sphere.app/Contents/MacOS/sphere显示框架已正确部署:

sphere.app/Contents/MacOS/sphere:     @executable_path /../ Frameworks / Qt3D.framework / Versions / 1 / Qt3D(兼容版本1.0.0,当前版本1.0.0)     @executable_path /../ Frameworks / Qt3DQuick.framework / Versions / 1 / Qt3DQuick(兼容版本1.0.0,当前版本1.0.0)     @executable_path /../ Frameworks / QtDeclarative.framework / Versions / 4 / QtDeclarative(兼容版本4.8.0,当前版本4.8.3)     @executable_path /../ Frameworks / QtScript.framework / Versions / 4 / QtScript(兼容版本4.8.0,当前版本4.8.3)     @executable_path /../ Frameworks / QtCore.framework / Versions / 4 / QtCore(兼容版本4.8.0,当前版本4.8.3)     @executable_path /../ Frameworks / QtSvg.framework / Versions / 4 / QtSvg(兼容版本4.8.0,当前版本4.8.3)     @executable_path /../ Frameworks / QtGui.framework / Versions / 4 / QtGui(兼容版本4.8.0,当前版本4.8.3)     @executable_path /../ Frameworks / QtSql.framework / Versions / 4 / QtSql(兼容版本4.8.0,当前版本4.8.3)     @executable_path /../ Frameworks / QtXmlPatterns.framework / Versions / 4 / QtXmlPatterns(兼容版本4.8.0,当前版本4.8.3)     @executable_path /../ Frameworks / QtNetwork.framework / Versions / 4 / QtNetwork(兼容版本4.8.0,当前版本4.8.3)     @executable_path /../ Frameworks / QtOpenGL.framework / Versions / 4 / QtOpenGL(兼容版本4.8.0,当前版本4.8.3)     /System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL(兼容版本1.0.0,当前版本1.0.0)     /System/Library/Frameworks/AGL.framework/Versions/A/AGL(兼容版本1.0.0,当前版本1.0.0)     /usr/lib/libstdc++.6.dylib(兼容版本7.0.0,当前版本7.9.0)     /usr/lib/libgcc_s.1.dylib(兼容性版本1.0.0,当前版本830.0.0)     /usr/lib/libSystem.B.dylib(兼容版本1.0.0,当前版本125.2.11)

有人知道怎么解决这个问题吗?这是一个Qt错误还是我做错了什么?

1 个答案:

答案 0 :(得分:0)

似乎应用程序无法找到任何Qt框架,只报告第一个恰好是Qt3D的框架。 你能确认Qt3D框架是否存在

@executable_path/../Frameworks/Qt3D.framework/Versions/1/Qt3D

这里@executable_path是二进制文件的路径,很可能是sphere.app/Contents/MacOS/sphere。所以Qt3D应该存在于

sphere.app/Contents/Frameworks/Qt3D.framework/Versions/1/Qt3D

如果没有,您可以从Library Framework路径复制以创建上面的Path