覆盖DYLD图书馆…任何问题吗?

5视图(30天)
凯利卡尼
凯利卡尼 2013年7月29日
有谁知道如果我在Matlab将破坏任何东西重要(在Mac OS X 10.8.4 R2013a)如果我覆盖DYLD_LIBRARY_PATH DYLD_FRAMEWORK_PATH环境变量?
我遇到一些问题试图通过直接访问netcdf功能系统调用。例如
> >系统(“ncgen - o测试。数控test.cdl”)
dyld:图书馆不加载:/ opt /地方/ lib / libnetcdf.7.dylib
引用来自:/ opt /地方/ bin / ncdump
原因:不兼容的图书馆版本:ncdump需要10.0.0或更高版本,但libnetcdf.7。dylib 9.0.0提供版本
ncdump测试。nc:跟踪/断点陷阱
ans =
133年
从一个终端运行相同的ncgen命令提示效果很好。看在Matlab环境变量,它看起来像Matlab是显式地设置DYLD_FRAMEWORK_PATH和DYLD_LIBRARY_PATH变量:
> > getenv (“DYLD_FRAMEWORK_PATH”)
ans =
/应用程序/ MATLAB_R2013a.app / sys / os / maci64: /应用程序/ MATLAB_R2013a.app / bin / maci64 / . . / . . /内容/ MacOS: /应用程序/ MATLAB_R2013a.app / bin / maci64: /应用程序/ MATLAB_R2013a.app /走读生/ lib / maci64: /应用程序/ MATLAB_R2013a.app /运行/ maci64
参考的版本冲突和我安装版本的netcdf库。我可以解决我的问题,如果我只是重置这两个变量,即。 setenv (‘DYLD_LIBRARYPATH’,”) ,允许系统调用dyld的找到正确的版本库。但是我很好奇如果我要最终打破什么重要。

答案(1)

艾特威尔肯
艾特威尔肯 2013年8月10日
编辑:艾特威尔肯 2013年8月10日
我想象的事情将会很好如果你:
  1. 缓存的副本采用的结果
  2. setenv如你描述的
  3. 调用系统命令
  4. 恢复的环境变量值缓存。
也许结束所有的一点帮助功能。

类别

找到更多的在应用程序部署帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!