我已经安装了最新版本的Qt(5.1),当我尝试使用macdeployqt工具在Mac上部署我的应用程序时,该应用程序仍无法在其他Mac上运行。它完全在我的Mac上工作,并没有表明任何错误。经过研究我找到了这个,我认为这是我的问题:Qt 5.1 and Mac: Bug making macdeployqt not working properly和https://bugreports.qt-project.org/browse/QTBUG-14699 但这个解释对我来说太技术了(+英语不是我的母语),我是一个完全的初学者,你能解释一下我只需要让我的应用程序在Mac上工作吗?一步步 ?它在Windows上完全正常运行(使用标准dll)。
非常感谢你,我认为它会帮助许多正在经历相同问题的初学者。
答案 0 :(得分:2)
您可以使用3种工具来整理Qt for OS X(MacOS)的部署。
macdeployqt
:此工具收集应用程序在其项目中声明所需的所有Qt库,将它们添加到应用程序包并更新其路径,以便您的应用程序知道在哪里找到它们。 / p>
otool
:用于检查二进制文件内容的复杂工具,但在这种情况下,与-L
参数一起使用,将显示应用程序将引用的所有库的路径。这些是寻找这些库的路径。
install_name_tool
:由于macdeployqt
仅处理应用程序所需的Qt库,因此您可以使用install_name_tool
更新应用所需的任何其他库的路径。例如,如果您有一个应用程序依赖的单独的非Qt框架,则需要进行后编译步骤以将框架复制到应用程序包中,然后使用install_name_tool
更新框架的路径。
如果遇到问题,请检查库/框架是否已复制到应用程序包中的正确位置,然后使用otool -L
检查路径。如果有任何错误,请使用name_install工具进行修复。
如果仍然无法让它工作,请修改您的问题并使用otool -L
添加输出。
请注意,从历史上看,各种版本的Qt都遇到了macdeployqt
实用程序的错误,因此如果它无法正常运行,您可能还需要check the qt bug tracker。