我制作了一个应用程序,当我构建发布模式时,它似乎工作得很好。下面是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工具进行部署:部署RightDoneIt.app -dmg,它会生成所有预期的文件,当我使用otool输入check时,我会得到
@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函数时都会出现运行时错误。
有谁知道怎么解决这个问题吗?
发布于 2011-02-15 22:52:41
我得到了类似的情况与,但找不到一个自动工具在网络上。只需使用otool检查libMagick++.4.dylib,然后为libMagick++.4.dylib运行install_name_tool
发布于 2013-02-13 15:41:07
供参考:
其中xxxx =应用程序名称
在发布模式下创建应用程序终端浅build.
cd /Users/QtSDK/QtSources/4.7.4/bin或/Users/xxxx/Desktop/abc/qt-everywhere-opensource-src-4.8.4/bin
./macdeployqt "path to .app file"
- `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`
CD "Release folder在终端:tool -L appliaxtion文件中检查其他依赖库,如标记库,如果有任何错误,则输入CD xxxx.app/Contents/MacOS,然后输入tool -L xxxx查看所有依赖库,然后对所有依赖库执行步骤4.。app/contents/Frameworks.ffmpeg,lastfm等(仅需要的文件夹或文件)到app/contents/MacOs中以制作DMG:- (details are here)或使用DMG画布。https://stackoverflow.com/questions/4460706
复制相似问题