caffe编译matlab接口的问题解决。
2017-05-17 11:37
836 查看
shawn@shawn-ThinkStation-P700:~/caffe$ make matcaffe MEX matlab/+caffe/private/caffe_.cpp 使用 'g++' 编译。 /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp: 在函数‘void delete_solver(int, mxArray**, int, const mxArray**)’中: /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp:208:3: 警告: lambda expressions only available with -std=c++11 or -std=gnu++11 [默认启用] /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp:208:4: 错误: 对‘remove_if(std::vector<boost::shared_ptr<caffe::Solver<float> > >::iterator, std::vector<boost::shared_ptr<caffe::Solver<float> > >::iterator, delete_solver(int, mxArray**, int, const mxArray**)::<lambda(const boost::shared_ptr<caffe::Solver<float> >&)>)’的调用没有匹配的函数 /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp:208:4: 附注: 备选是: In file included from /usr/include/c++/4.7/algorithm:63:0, from ./include/caffe/blob.hpp:4, from ./include/caffe/caffe.hpp:7, from /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp:18: /usr/include/c++/4.7/bits/stl_algo.h:1166:5: 附注: template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate) /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp:208:4: 错误: ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’的模板实参使用了局部类型‘delete_solver(int, mxArray**, int, const mxArray**)::<lambda(const boost::shared_ptr<caffe::Solver<float> >&)>’ /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp:208:4: 错误: 试图实例化‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’ /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp: 在函数‘void delete_net(int, mxArray**, int, const mxArray**)’中: /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp:293:3: 警告: lambda expressions only available with -std=c++11 or -std=gnu++11 [默认启用] /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp:293:4: 错误: 对‘remove_if(std::vector<boost::shared_ptr<caffe::Net<float> > >::iterator, std::vector<boost::shared_ptr<caffe::Net<float> > >::iterator, delete_net(int, mxArray**, int, const mxArray**)::<lambda(const boost::shared_ptr<caffe::Net<float> >&)>)’的调用没有匹配的函数 /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp:293:4: 附注: 备选是: In file included from /usr/include/c++/4.7/algorithm:63:0, from ./include/caffe/blob.hpp:4, from ./include/caffe/caffe.hpp:7, from /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp:18: /usr/include/c++/4.7/bits/stl_algo.h:1166:5: 附注: template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate) /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp:293:4: 错误: ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’的模板实参使用了局部类型‘delete_net(int, mxArray**, int, const mxArray**)::<lambda(const boost::shared_ptr<caffe::Net<float> >&)>’ /home/shawn/caffe/matlab/+caffe/private/caffe_.cpp:293:4: 错误: 试图实例化‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’ make: *** [matlab/+caffe/private/caffe_.mexa64] 错误 255
在http://www.th7.cn/system/lin/201703/207561.shtml找到解决方案:
在Makefile.config里面添加:
CXXFLAGS += -MMD -MP
CXXFLAGS += -std=c++11然后再次编译就正确了:
shawn@shawn-ThinkStation-P700:~/caffe$ make matcaffe
MEX matlab/+caffe/private/caffe_.cpp
使用 'g++' 编译。
MEX 已成功完成。
相关文章推荐
- 集群管理——开机B7问题(内存条ERROR),caffe编译matlab接口错误解决方法
- caffe编译matlab 接口以及出错问题
- 编译caffe和matlab接口问题
- [原]有关Caffe训练好的模型在Python接口下使用分类不准确的问题解决
- Windows下编译Caffe并编译Matlab接口
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- caffe配置之编译python和MATLAB接口
- 编译Caffe的Matlab接口
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- 在运行rcnn中,调用caffe编译好的matlab接口时,遇到 libmkl_rt.so和libcudart.so.5.5错误
- caffe 在window下编译(windows7, cuda8.0,matlab接口编译)
- caffe编译的问题解决:“cublas_v2.h: No such file or directory”
- Ubuntu16.04编译Caffe遇到的问题及解决办法
- RCNN 安装编译与MATLAB2014下问题解决
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- ubuntu下 编译Caffe的Matlab接口
- 有关Caffe训练好的模型在Python接口下使用分类不准确的问题解决
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- 如何快糙好猛地在Windows下编译CAFFE并使用其matlab和python接口
- caffe的Matlab接口问题之路径问题