运行在Linux上编译的mex文件
18次浏览(过去30天)
显示旧的注释
当我从MATLAB运行一个从cpp源文件编译的mex文件时,我得到以下错误:
/home/bogdan/ c++ / it++ /mex/test. txt文件无效。mexa64”:/usr/local/MATLAB/R2012a/bin/glnxa64/libstdc + + .so.6:版本' GLIBCXX_3.4.15'未找到(/usr/local/lib64/libitpp.so.8要求)
解决方案似乎是在MATLAB库文件夹中创建软链接,链接到特定Linux发行版(在我的案例中是openSUSE 12.1 x86_64)提供的这些库的新版本。
我的问题是,这是否是Mathworks推荐的标准解决方案?这种方法是否存在任何问题(是否应该将所有库更新到新版本,因为可能会出现不兼容问题)?
答案(2)
Bogdan Cristea Eugen
2012年8月30日
4评论
安tran Lam
2014年6月2日
即使我设置了LD_LIBRARY_PATH,它也不能解决问题。有人知道为什么LD_LIBRARY_PATH在Matlab中没有效果吗?奇怪的现象是为什么Matlab使用/usr/local/ Matlab / r2012a /bin/glnxa64/libstdc++.so。6第一。而在LD_LIBRARY_PATH中,它应该在第二个。LD_LIBRARY_PATH = / usr /地方/ MATLAB / R2012a / sys / os / glnxa64: / usr /地方/ MATLAB / R2012a / bin / glnxa64