gpt4 book ai didi

c++ - Qt mac 版本遗漏框架

转载 作者:搜寻专家 更新时间:2023-10-31 01:46:44 28 4
gpt4 key购买 nike

我想发布我的 Qt 项目的一个版本。我正在使用 Qt 5.2.0 和 OSX 10.9。到目前为止,我有一个应用程序文件,但它仍然有一些依赖项,您无法执行它,除非使用用户 nik

当我执行 otool -L MyApp.app/Contents/MacOS/MyApp 时,我得到了这个:

/Users/nik/Qt5.2.0/5.2.0-beta1/clang_64/lib/QtWidgets.framework/Versions/5/QtWidgets (compatibility version 5.2.0, current version 5.2.0)
/Users/nik/Qt5.2.0/5.2.0-beta1/clang_64/lib/QtGui.framework/Versions/5/QtGui (compatibility version 5.2.0, current version 5.2.0)
/Users/nik/Qt5.2.0/5.2.0-beta1/clang_64/lib/QtCore.framework/Versions/5/QtCore (compatibility version 5.2.0, current version 5.2.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1056.0.0)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
/System/Library/Frameworks/AGL.framework/Versions/A/AGL (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 60.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

如何在我的构建中包含这些依赖项? /System//usr/ 下的东西应该在所有 mac 上都可用,对吧?所以我只需要包含那些 Qt 框架。

最佳答案

您需要将框架复制到您的应用程序包中并更改指向 Qt 框架的链接。 OSX 有一个名为 install_name_tool 的开发工具,它允许您手动更改引用。

幸运的是,Qt提供了一个命令行工具macdeployqt,它会为你复制需要的Qt框架并更改引用。

您可以在 deploying a Qt application for OSX 的 Qt 文档中阅读相关信息.使用起来非常简单。假设您的路径设置为包含 Qt 工具,只需从应用程序的路径中调用它:-

macdeployqt MyApp.app

如果您使用其他非 Qt 框架,则必须手动复制它们并为它们使用 install_name_tool。

关于c++ - Qt mac 版本遗漏框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20270784/

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