在Mac上部署Qt应用程序

在Mac上部署Qt应用程序,qt,deployment,qt4,imagemagick,Qt,Deployment,Qt4,Imagemagick,我制作了一个应用程序,当我构建发布模式时,它似乎运行良好。 下面是:otool-L RightDoneIt.app/Contents/MacOs/RightDoneIt的输出 /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 ver

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

/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工具部署:deployqt RightDoneIt.app-dmg 这将生成所有预期的文件,当我键入check with otool时,我会得到

@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)
如果我尝试运行使用deploytool创建的应用程序,每次尝试运行ImageMagick函数时都会出现运行时错误


有人知道如何解决这个问题吗?

我遇到了类似的情况,在网上找不到自动工具。只需使用otool检查libMagick++.4.dylib,并运行libMagick++.4.dylib的安装工具以供参考:

  • 为Mac应用商店开发QtCreator应用程序

此处
xxxx
=应用程序名称

  • 以发布模式浅层构建项目

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

  • 在终端中:
    /macdeployqt“指向.app文件的路径”
  • 这将创建包含所有从属库的应用程序文件,然后 在终端:

    • CD“发布文件夹(.app文件夹)”
    • 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

  • 通过terminal命令检查其他相关库,如taglib
    CD”发布文件夹
    在终端中:
    tool-L appliaxtion
    文件如果出现任何错误,则
    CD xxxx.app/Contents/MacOS
    然后键入
    tool-L xxxx
    并查看所有相关库 并对所有依赖库执行步骤4

  • 将所有相关库复制到
    app/contents/Frameworks
  • ffmpeg
    lastfm
    等(仅需要文件夹或文件)复制到
    app/contents/MacOs
    用于制作DMG:-()或使用DMG画布

  • 错误是什么?libMagick++是否依赖于其他库,如libMagick C库?请使用otool检查libMagick++.dylib。