首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Mac上部署的.app包中自动包含Qt库

在Mac上部署的.app包中自动包含Qt库
EN

Stack Overflow用户
提问于 2013-09-13 07:25:13
回答 3查看 7.7K关注 0票数 7

我正在使用Qt部署我的Qt应用程序。在Mac上,我想在.app包中包含所需的Qt库。有任何方法可以自动使用Qt吗?我应该用命令行来做吗?那样的话,我该怎么做呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-13 08:21:41

macdeployqt命令行工具将添加Qt项目引用的所有必要的Qt库。

如果需要任何其他第三方库,则需要手动复制这些库并使用install_name_tool命令设置路径。

可以使用otool命令检查应用程序引用的库。例如:-

代码语言:javascript
代码运行次数:0
运行
复制
otool -L MyApplication.app/Contents/MacOS/MyApplication

对于Qt,我倾向于编写一个脚本,它添加必要的库并调用macdeployqt,然后在项目下添加一个调用脚本的构建步骤。

添加Qt库的示例脚本如下所示:-

代码语言:javascript
代码运行次数:0
运行
复制
#!/bin/bash
pwd
echo Copying QT libraries...
macdeployqt ./MyApplication.app
票数 14
EN

Stack Overflow用户

发布于 2013-09-13 08:43:50

您可以简单地运行macdeployqt foo.app。也不支持此特性。但是,您可以在QtCreator项目设置中将自定义命令注入到流程中。

不过,它还不支持QML。在codereview下面有一些补丁,它即将到来。有关详细信息,请参阅下列链接:

https://codereview.qt-project.org/#q,status:open+project:qt/qttools,n,z

注意:不应该在通常的开发和调试中使用macdeployqt!它只应在部署时使用。否则,每次执行它都是为了构建,即使您只是因为测试中的一个小改动而重新编译代码。这可以减缓这个过程,但是对于部署来说,应该是可以的。

票数 5
EN

Stack Overflow用户

发布于 2021-06-29 19:32:33

在QT6上,我能够完全在QT6中完成它:

在项目/构建中,在“make”之后添加一个自定义构建步骤(可能只想为您的“发布”配置这样做):

命令:%{Qt:QT_HOST_PREFIX}/bin/macdeployqt

论据:%{ActiveProject:BuildConfig:Path}/%{ActiveProject:Name}.app - qmldir=%{ActiveProject:NativePath}

工作目录:%{buildDir}

我能够通过将产生的.app空投到我的测试机器上来测试它。

参考资料:https://doc.qt.io/qt-6/macos-deployment.html#macdeploy

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18780602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档