我已经安装了最新版本的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)上完全正常工作。
非常感谢,我认为这将帮助很多正在经历同一问题的初学者。
最佳答案
您可以使用3种工具来整理Qt for OS X(MacOS)的部署。
macdeployqt
:此工具收集您的应用程序在其项目中声明需要的所有Qt库,将它们添加到应用程序包中并更新其路径,以便您的应用程序知道在哪里可以找到它们。 otool
:一种用于检查二进制文件内容的复杂工具,但在这种情况下,与-L
参数一起使用,将显示您的应用程序将引用的所有库的路径。这些是它将寻找这些库的路径。 install_name_tool
:由于macdeployqt
仅处理您的应用程序所需的Qt库,因此您可以使用install_name_tool
将应用程序所需的任何其他库的路径更新。例如,如果您的应用程序依赖于一个单独的非Qt框架,则需要执行一个后编译步骤,以将该框架复制到应用程序包中,然后使用install_name_tool
更新该框架的路径。 如果遇到问题,请检查库/框架是否已复制到应用程序 bundle 包中的正确位置,然后使用
otool -L
检查路径。如果不正确,请使用name_install工具对其进行修复。如果仍然无法使用,请编辑问题并使用
otool -L
添加输出。请注意,从历史上看,各种版本的Qt都遇到了
macdeployqt
实用程序的错误,因此,如果它无法正常运行,您可能还需要check the qt bug tracker。关于c++ - Macdeployqt无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17957127/