1

Mac QT 安装程序将其共享库放在/Library/Frameworks/QtXXX.Framework.
我正在使用 qmake 生成的 xcode 项目构建 QT 应用程序。我想将这些框架作为私有框架字添加到我的应用程序包中,以便于部署。

我已经尝试了各种选择来做到这一点,但我似乎无法让它发挥作用。我做了什么 -

  • 按照此处所述更改/Library/Frameworks/使用中的 Qt 框架文件install_name_tool
  • 将这些框架包手动复制到应用程序包内
  • 重新编译包。

当我更改原始框架的名称以使其看起来不存在时,应用程序崩溃并说它找不到所需的框架。我究竟做错了什么?

在 OSX 10.7.3 上使用 xcode 4.3

4

1 回答 1

1

在 Mac 上部署 Qt 应用程序的一些选项:

  • Qt 带有macdeployqt工具,用于将 Qt 与构建的应用程序包捆绑在一起。该工具虽然有点有限,但可能会或可能不会做你想做的事。
  • CMake附带DeployQt4,它也可以仅用于部署,以防人们也不想使用 cmake 进行构建。
  • 如您的链接中所述,可以使用 install_name_tool 编写自己的脚本。如果它不起作用,请使用 otool -L 检查是否替换了可执行文件和捆绑库中的所有绝对路径。您还必须修复捆绑库的路径!(递归,可以这么说)。

最新发布的 cmake 版本 (2.8.7) 不能正确支持 XCode 4.3:从 Xcode 4.3 开始,以前安装到/Developer的文件现在位于/Applications/Xcode.app/Contents/Developer. cmake 仍然希望它们在/Developer. 这在 cmake master 中已修复,但尚未发布。一种解决方法是创建一个符号链接:

ln -s /Applications/Xcode.app/Contents/Developer /Developer
于 2012-04-13T14:31:44.667 回答