我有一个链接到库“libao_optimization.dylib”的程序。当它运行时,大部分时间都很好。但偶尔会出现以下错误:
dyld: Library not loaded: libao_optimization.dylib
Referenced from: /User/gw/local/bin/tst_simulated_ngs_image_and_otfs
Reason: image not found
适当的路径在DYLD_LIBRARY_PATH中。我甚至尝试用
将完整路径放在可执行文件中install_name_tool -change ...
但是,这种错误有时只会发生。其他时候库加载正常,程序运行。有没有人在Mac上体验过这个?
答案 0 :(得分:0)
otool是调试dyld路径的方法。我通常会检查
otool -L exeFileName
然后使用
调整路径install_name_tool -change
对于新机器,我配置了env var
DYLD_LIBRARY_PATH
当我仍然遇到错误时,我会测试静态版本是否正常运行而没有错误。例如,对于某些boost dyld库,这将起作用:
set(Boost_USE_STATIC_LIBS ON)
如果错误仍然存在,那么我知道它不是路径问题。