gpt4 book ai didi

macos - 如何在 OSX 上的 .app 项目中包含带有 CMake 的 Qt 库?

转载 作者:行者123 更新时间:2023-12-01 10:23:25 29 4
gpt4 key购买 nike

我使用 CMake 作为构建系统创建了一个 Qt 项目。我想在部署阶段包括必要的 Qt 框架

Qt3Support.framework/ QtNetwork.framework/  QtXml.framework/
QtCore.framework/ QtOpenGL.framework/
QtGui.framework/ QtSql.framework/

为了准备好将我的程序作为独立的 dmg 分发。

这通常是通过 macdeployqt 命令完成的,但它给了我很多这样的错误:

ERROR: "strip: for architecture x86_64 object:
/Users/rs/build/myapp.app/Contents/Frameworks/QtXmlPatterns.framework/Versions/4/QtXmlPatterns
malformed object (unknown load command 5)

所以我想直接在部署阶段做,可以吗?

最佳答案

我使用 DeployQt4 和 BundleUtilities 有一段时间了,直到遇到一个不容易修复的问题 according to one of the authors .

我最终编写了一个 ruby​​ 脚本,该脚本执行 BundleUtilities 所做的工作,但不会出现该问题。与 BundleUtilities 相比,我的脚本目前有一个限制 - 它不处理包含多个可执行文件的包。在 cmake 中编写相同的功能超出了我受虐狂的程度(我设法理解了 BundleUtilities 的作用和方式,但对他们必须用来在内存中组织数据的装置感到震惊)。

脚本本身在这里可用:https://github.com/artm/vision-ui-skeleton/blob/master/ruby/fixup/fixup.rb

它在底部的 cmake 中使用:https://github.com/artm/vision-ui-skeleton/blob/master/cmake/QArtmRelease.cmake

它适用于 OSX 10.6.x 或更高版本附带的 ruby​​。

关于macos - 如何在 OSX 上的 .app 项目中包含带有 CMake 的 Qt 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12317724/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com