1

如果我在 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 错误还是我做错了什么?

4

1 回答 1

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

如果没有,您可以从库框架路径复制以创建上述路径

于 2012-10-11T11:31:19.647 回答