我试图让MATLAB语法检查在Vim中工作。
我使用Bundle 'jrestrepo/matlab'
并进行语法突出显示,但效果很好。但语法检查不起作用。我使用以下内容将/Applications/MATLAB_R2012b.app/bin/maci64/
导出到PATH
PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$PATH"
export PATH
export PATH=$PATH:/Applications/MATLAB_R2012b.app/bin/maci64
在我的bash_profile
中,现在在命令行中我得到:
Tierra-Gorda:~ mike$ which mlint
/Applications/MATLAB_R2012b.app/bin/maci64/mlint
Tierra-Gorda:~ mike$ mlint
dyld: Library not loaded: libtbb.dylib
Referenced from: /Applications/MATLAB_R2012b.app/bin/maci64/./libmwfl.dylib
Reason: image not found
Trace/BPT trap: 5
我怀疑,路径中的点会以某种方式混淆它。因为文件libmwfl.dylib
存在于.../maci64/libmwfl.dylib
。
感谢您的任何建议。
答案 0 :(得分:1)
除了DYLD_LIBRARY_PATH
:
PATH
环境变量
export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/Applications/MATLAB_R2012b.app/bin/maci64
根据man dyld
:
<强> DYLD_LIBRARY_PATH 强>
这是一个以冒号分隔的包含库的目录列表。动态 链接器在搜索默认位置之前搜索这些目录 库。它允许您测试现有库的新版本。
对于程序使用的每个库,动态链接器在每个库中查找它 依次在
DYLD_LIBRARY_PATH
中的目录。如果它仍然找不到库,那就 然后依次搜索DYLD_FALLBACK_FRAMEWORK_PATH
和DYLD_FALLBACK_LIBRARY_PATH
。使用
-L
otool(1)
选项来发现框架和共享库 可执行文件链接到。
我认为更安全的方法是追加DYLD_FALLBACK_LIBRARY_PATH
。这样您就不会优先于默认搜索路径,并可能覆盖其他程序加载的库......
更好的是,您应该创建一个启动器脚本(您设置DYLD_*
然后启动mlint
),而不是在bash_profile
全局更改环境变量。
答案 1 :(得分:0)
我在.bash_profile
上仔细添加了某些库的正确路径export matlabroot="/Applications/MATLAB_R2012a.app"
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:${matlabroot}/bin/:${matlabroot}/runtime/maci64
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${matlabroot}/sys/os/maci64:${matlabroot}/bin/maci64
DYLD_FALLBACK_LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH:/usr/local/lib:/lib:/usr/lib:${matlabroot}/bin/maci64
export DYLD_FALLBACK_LIBRARY_PATH
export DYLD_LIBRARY_PATH
重新运行终端或Vim,现在应该可以使用了。 为了得到一些信任,我在这里找到了答案: Issue on a Matlab 2010b on MacBook Pro (Lion)