我使用 Mac OS X 开发人员工具捆绑的属性列表编辑器将环境变量 DYLD_LIBRARY_PATH_64 位设置为文件 ~/.MacOSX/environment.plist 中的值 path/to/dylib。我保存了该文件并退出。

重新登录后,控制台显示多条“dyld:警告,未知的环境变量:DYLD_LIBRARY_PATH_64 位。”我使用属性列表编辑器从environment.plist 中删除了该条目,保存文件并注销。

我重新登录,警告消息仍然存在。Dyld Man Page显示了与我任性环境变量相似的常数列表,因为它们都以“ Dyld_”开头。源文件Dyld.cpp在一长串染色器常数之后显示了其他文件,并带有代码以打印相同的警告消息。也许我在环境变量命名上离太阳太近了。我以为我们是自由的!

我尝试了 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

这个故事的寓意是永远不要使用属性列表编辑器,至少对于动态库路径。嗯,不 - 这个故事的寓意是永远不要在环境变量名称末尾使用破折号,因为它们 看起来像旗帜.

话虽如此,您对摆脱这个伪装的环境变量以及清除我的控制台上重复的 dyld 警告有什么建议吗?

谢谢!

有帮助吗?

解决方案

下面是要解决的不可见环境变量无意中由属性列表编辑器设置的一种方法:重新格式化的机器。打扫。用火清洁。

一个发人深省的对我们所有人的教训,特别是我自己。使用属性列表编辑器时,使用不破折号在你的环境变量,免得你使dyld百出:为您的机器中的所有天警告消息。祸到主板,对她CPU是生产力的贫瘠,而是她被减少到消息打印到文件2(标准差)。

没有认真:属性列表编辑器将让您指定伪造的环境变量的Bash不会让你得逞的。在意义上的“用户必须知道自己在做什么,” Mac OS X的UNIX变样。

其他提示

实际上,如果您设置任何以 DYLD_ 开头但不在 苹果清单 你收到一条唠叨信息。

我希望有一个标志可以将其关闭

什么用dyld的libarary路径变量,它不会消失在Mac上工作,我在一个类似的问题:

使用unset命令,以及良好的措施,之后我unset它,我exported一遍......

即。类似

$ unset DYLD_LIBRARY_FALLBACK_PATH    
$ export DYLD_LIBRARY_FALLBACK_PATH
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top