我的应用程序中有this problem ICU,试图在我的Mountain Lion MacBook Pro上运行Qt Creator。
现在我发现我在运行时遇到了类似的问题,我在同一台MacBook Pro上构建了dmg。构建成功完成,运行dmg并且安装显示成功,但是当我尝试运行时,我得到:
Dyld Error Message:
Library not loaded: @executable_path/../Frameworks/libicuuc.46.dylib
Referenced from: /Applications/MapCreator.app/Contents/SharedLibraries/libicui18n.46.1.dylib
Reason: image not found
我从源代码控制中抓取了我们应用程序(和构建脚本)的先前标记版本,当它在MacBook上构建时我遇到了同样的问题。
下面列出了我在运行构建脚本时看到的唯一错误。我相信这些错误一直存在于我们在所有机器上的构建中,并且从来就不是问题,但是我在这里列出它们以防它们变得有用:
ERROR: "strip: can't map file: /Users/david/dev/svn/map_creator1.0.2/build/mac/pkg-root/Applications/MapCreator.app/Contents (Invalid argument)
"
ERROR: ""
ERROR: "install_name_tool: can't map file: /Users/david/dev/svn/map_creator1.0.2/build/mac/pkg-root/Applications/MapCreator.app/Contents/Frameworks//.. (Invalid argument)
"
ERROR: ""
ERROR: "otool: can't map file: /Users/david/dev/svn/map_creator1.0.2/build/mac/pkg-root/Applications/MapCreator.app/Contents/Frameworks//.. (Invalid argument)
"
ERROR: no file at "/usr/lib/libicui18n.46.dylib"
ERROR: no file at "/usr/lib/libicuuc.46.dylib"
ERROR: no file at "/usr/lib/libicudata.46.dylib"
我不确定在哪里寻找跟踪它。有人能指出我正确的方向吗?
答案 0 :(得分:1)
显然,我的MacBook上的ICU安装有一些不同之处。通过向我们的脚本添加更多install_name_tool -change
行来解决问题,以更改它在寻找相关ICU文件的依赖关系的位置。
格式为:
install_name_tool -change old new file
如果“旧”路径不匹配,则忽略该命令。因此,简单地添加新线路涵盖了各种可能的ICU安装基础。