首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Mac上部署Qt应用程序

在Mac上部署Qt应用程序
EN

Stack Overflow用户
提问于 2010-12-16 20:23:01
回答 2查看 679关注 0票数 1

我制作了一个应用程序,当我构建发布模式时,它似乎工作得很好。下面是otool -L RightDoneIt.app/Contents/MacOs/rightdoneit的输出

代码语言:javascript
复制
/opt/local/lib/libMagick++.4.dylib (compatibility version 5.0.0, current version 5.0.0)
QtGui.framework/Versions/4/QtGui (compatibility version 4.7.0, current version 4.7.0)
QtCore.framework/Versions/4/QtCore (compatibility version 4.7.0, current version 4.7.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 625.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)

从第一行可以看到,我使用的是ImageMagick库

在那之后,我使用macdeployqt工具进行部署:部署RightDoneIt.app -dmg,它会生成所有预期的文件,当我使用otool输入check时,我会得到

代码语言:javascript
复制
@executable_path/../Frameworks/libMagick++.4.dylib (compatibility version 5.0.0, current version 5.0.0)
@executable_path/../Frameworks/QtGui.framework/Versions/4/QtGui (compatibility version 4.7.0, current version 4.7.0)
@executable_path/../Frameworks/QtCore.framework/Versions/4/QtCore (compatibility version 4.7.0, current version 4.7.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 625.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)

如果我尝试运行使用部署工具创建的应用程序,则每次尝试运行ImageMagick函数时都会出现运行时错误。

有谁知道怎么解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-15 22:52:41

我得到了类似的情况与,但找不到一个自动工具在网络上。只需使用otool检查libMagick++.4.dylib,然后为libMagick++.4.dylib运行install_name_tool

票数 1
EN

Stack Overflow用户

发布于 2013-02-13 15:41:07

供参考:

  • Mac Deployment
  • Developing用于Mac应用商店的QtCreator应用程序

其中xxxx =应用程序名称

在发布模式下创建应用程序终端浅build.

  • cd /Users/QtSDK/QtSources/4.7.4/bin/Users/xxxx/Desktop/abc/qt-everywhere-opensource-src-4.8.4/bin

  • In终端:./macdeployqt "path to .app file"

  • This将创建包含所有依赖库的
  1. 文件,然后在终端中:

代码语言:javascript
复制
- `CD "Release folder (.app folder)"`
- `install_name_tool -id @executable_path/../Frameworks/libtag.1.dylib xxxx.app/Contents/Frameworks/libtag.1.dylib`
- `install_name_tool -change /Users/xxxx/wav/taglib-1.8/Build/taglib/libtag.1.dylib @executable_path/../Frameworks/libtag.1.dylib xxxx.app/Contents/MacOs/xxxx`
- `install_name_tool -change /Users/xxxx/wav/taglib-1.8/Build/taglib/libtag.1.dylib @executable_path/../Frameworks/libtag.1.dylib xxxx.app/Contents/Frameworks/libtag.1.dylib`

  1. 使用终端命令CD "Release folder在终端:tool -L appliaxtion文件中检查其他依赖库,如标记库,如果有任何错误,则输入CD xxxx.app/Contents/MacOS,然后输入tool -L xxxx查看所有依赖库,然后对所有依赖库执行步骤4.。
  2. 将所有依赖库复制到app/contents/Frameworks.
  3. Copy ffmpeglastfm等(仅需要的文件夹或文件)到app/contents/MacOs中以制作DMG:- (details are here)或使用DMG画布。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4460706

复制
相关文章

相似问题

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