在用于动态目录中除典型@rpath之外的目录中进行单元测试的Shell脚本中,我以前能够设置DYLD_FALLBACK_LIBRARY_PATH来设置包含这些库的目录。在10.11.1下,bash似乎忽略了设置此环境变量的尝试:
$ sh -x testscript.sh
+ DYLD_FALLBACK_LIBRARY_PATH=/Users/something/testinglibs
+ export DYLD_FALLBACK_LIBRARY_PATH
+ exec printenv
并且DYLD_FALLBACK_LIBRARY_PATH在printenv的输出中不存在。
这是10.11外壳中与安全相关的黑客吗?我找不到手册页或在线文档中记录的更改。
请问install_name_tool帮助?
—
SaaruLindestøkke'17
当然,install_name_tool是一个永久性的解决方案(我实际上已编写了脚本来设置构建环境)。为了在开发环境中进行快速测试和调试,麻烦的是必须临时创建库的副本,修改@rpath的更改,然后可能会忘记手动更改。DYLD_FALLBACK_LIBRARY_PATH和DYLD_LIBRARY_PATH在这些偶然的开发/测试周期中非常有用。
—
盖伊