有谁知道如果我在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的找到正确的版本库。但是我很好奇如果我要最终打破什么重要。