我使用 Mac OS X Developer Tools 的捆绑属性列表编辑器将环境变量 DYLD_LIBRARY_PATH_64 位设置为文件 ~/.MacOSX/environment.plist 中的值 path/to/dylib。我保存了这个文件并注销了。
重新登录后,控制台显示多条消息“dyld:警告,未知环境变量:DYLD_LIBRARY_PATH_64-bit”。我使用属性列表编辑器从 environment.plist 中删除了条目,保存了文件并注销。
我重新登录,警告消息仍然存在。dyld 手册页显示了一个常量列表,这些常量看起来类似于我任性的环境变量,因为它们都以“DYLD_”开头。源文件 dyld.cpp 在一长行 DYLD 常量之后显示了一个 else,并带有打印相同警告消息的代码。也许我飞得太近了环境变量命名的太阳。我以为我们是自由的!
我试过 update_dyld_shared_cache 无济于事。也许我错过了一些重要的标志?
我在 /etc/launchd.conf 中添加了“setenv DYLD_LIBRARY_PATH_64-bit path/to/dylib”,试图在我的路径中添加一个(显然格式错误的)环境变量,希望如果它出现,我可以删除它——但没有成功.
从命令行,导出不显示 DYLD_LIBRARY_PATH_64 位。这是一些示例输出:
$ unset $DYLD_LIBRARY_PATH_64-bit
-bash: unset: -b: invalid option
$ echo $DYLD_LIBRARY_PATH_64-bit
-bit
$ unset DYLD_LIBRARY_PATH_64-bit
-bash: unset: `DYLD_LIBRARY_PATH_64-bit': not a valid identifier
这个故事的寓意是永远不要使用属性列表编辑器,至少对于动态库路径。好吧,不——这个故事的寓意是永远不要在环境变量名称的末尾使用破折号,因为它们看起来像 flags。
话虽如此,对于摆脱这个伪装的环境变量,以及清理我的控制台中重复的 dyld 警告,你有什么建议吗?
谢谢!