Makefile:517:target'的配方;matlab/+;caffe/private/caffe.mexa64';失败的生成:***

Makefile:517:target'的配方;matlab/+;caffe/private/caffe.mexa64';失败的生成:***,matlab,caffe,mex,pycaffe,matcaffe,Matlab,Caffe,Mex,Pycaffe,Matcaffe,我一直面临着这个问题。我使用的是ubuntu 16.04、cuda 8、cudnn 5.1、opencv 3.1、Matlab2014a。我用cuda安装了opencv3.1 我想配置matcaffe。提前谢谢 这是我的错误报告 MEX matlab/+caffe/private/caffe_.cpp Building with 'g++'. Warning: You are using gcc version '5.4.1'. The version of gcc is not sup

我一直面临着这个问题。我使用的是ubuntu 16.04、cuda 8、cudnn 5.1、opencv 3.1、Matlab2014a。我用cuda安装了opencv3.1 我想配置matcaffe。提前谢谢

这是我的错误报告

    MEX matlab/+caffe/private/caffe_.cpp
Building with 'g++'.
Warning: You are using gcc version '5.4.1'. The version of gcc is not supported. The version currently supported with MEX is '4.7.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release.
Warning: You are using gcc version '5.4.1-2ubuntu1~16.04)'. The version of gcc is not supported. The version currently supported with MEX is '4.7.x'. For a list of currently supported compilers see: http://www.mathworks.com/support/compilers/current_release.
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp: In function ‘void delete_solver(int, mxArray**, int, const mxArray**)’:
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp:208:3: warning: lambda expressions only available with -std=c++11 or -std=gnu++11
   }), solvers_.end());
   ^
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp:208:4: error: no matching function for call to ‘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> >&)>)’
   }), solvers_.end());
    ^
In file included from /usr/include/c++/5/algorithm:62:0,
                 from ./include/caffe/blob.hpp:4,
                 from ./include/caffe/caffe.hpp:7,
                 from /home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp:18:
/usr/include/c++/5/bits/stl_algo.h:926:5: note: candidate: template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)
     remove_if(_ForwardIterator __first, _ForwardIterator __last,
     ^
/usr/include/c++/5/bits/stl_algo.h:926:5: note:   template argument deduction/substitution failed:
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp: In substitution of ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate) [with _FIter = __gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Solver<float> >*, std::vector<boost::shared_ptr<caffe::Solver<float> > > >; _Predicate = delete_solver(int, mxArray**, int, const mxArray**)::<lambda(const boost::shared_ptr<caffe::Solver<float> >&)>]’:
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp:208:4:   required from here
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp:208:4: error: template argument for ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’ uses local type ‘delete_solver(int, mxArray**, int, const mxArray**)::<lambda(const boost::shared_ptr<caffe::Solver<float> >&)>’
   }), solvers_.end());
    ^
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp:208:4: error:   trying to instantiate ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp: In function ‘void delete_net(int, mxArray**, int, const mxArray**)’:
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp:293:3: warning: lambda expressions only available with -std=c++11 or -std=gnu++11
   }), nets_.end());
   ^
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp:293:4: error: no matching function for call to ‘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> >&)>)’
   }), nets_.end());
    ^
In file included from /usr/include/c++/5/algorithm:62:0,
                 from ./include/caffe/blob.hpp:4,
                 from ./include/caffe/caffe.hpp:7,
                 from /home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp:18:
/usr/include/c++/5/bits/stl_algo.h:926:5: note: candidate: template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)
     remove_if(_ForwardIterator __first, _ForwardIterator __last,
     ^
/usr/include/c++/5/bits/stl_algo.h:926:5: note:   template argument deduction/substitution failed:
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp: In substitution of ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate) [with _FIter = __gnu_cxx::__normal_iterator<boost::shared_ptr<caffe::Net<float> >*, std::vector<boost::shared_ptr<caffe::Net<float> > > >; _Predicate = delete_net(int, mxArray**, int, const mxArray**)::<lambda(const boost::shared_ptr<caffe::Net<float> >&)>]’:
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp:293:4:   required from here
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp:293:4: error: template argument for ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’ uses local type ‘delete_net(int, mxArray**, int, const mxArray**)::<lambda(const boost::shared_ptr<caffe::Net<float> >&)>’
   }), nets_.end());
    ^
/home/mustansar/Documents/caffe-master/matlab/+caffe/private/caffe_.cpp:293:4: error:   trying to instantiate ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’

Makefile:517: recipe for target 'matlab/+caffe/private/caffe_.mexa64' failed
make: *** [matlab/+caffe/private/caffe_.mexa64] Error 255
MEX matlab/+caffe/private/caffe_u2;.cpp
使用“g++”构建。
警告:您正在使用gcc版本“5.4.1”。不支持gcc的版本。MEX当前支持的版本为“4.7.x”。有关当前支持的编译器的列表,请参阅:http://www.mathworks.com/support/compilers/current_release.
警告:您正在使用gcc版本“5.4.1-2ubuntu1~16.04”)。不支持gcc的版本。MEX当前支持的版本为“4.7.x”。有关当前支持的编译器的列表,请参阅:http://www.mathworks.com/support/compilers/current_release.
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_uu.cpp:函数“void delete_solver(int,mxArray**,int,const mxArray**)”中:
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_u2;cpp:208:3:警告:lambda表达式仅适用于-std=c++11或-std=gnu++11
}),解算器_u.end());
^
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_u2;cpp:208:4:错误:调用“如果(std::vector::iterator,std::vector::iterator,delete_2;solver(int,mxArray**,int,const mxArray**:)”没有匹配的函数
}),解算器_u.end());
^
在/usr/include/c++/5/algorithm:62:0中包含的文件中,
从/包括/caffe/blob.hpp:4,
从/包括/caffe/caffe.hpp:7,
from/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_uu.cpp:18:
/usr/include/c++/5/bits/stl_-algo.h:926:5:注:候选:模板匹配std::删除if(_-FIter,_-FIter,_-Predicate)
如果(_ForwardIterator uu first,_ForwardIterator u last,
^
/usr/include/c++/5/bits/stl_algo.h:926:5:注意:模板参数推导/替换失败:
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_u2;cpp:替换“模板”FIter std::remove_if(FIter,FIter,FIter,u Predicate)[带FIter=u gnu_cxx::uuu normal iterator;u Predicate=delete_u解算器(int,mxArray**,int,const mxArray**):]:
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_.cpp:208:4:此处需要
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_u2;cpp:208:4:错误:如果(FIter,FIter,FIter,Predicate)使用本地类型“delete_solver(int,mxArray**,int,constmxarray**):”
}),解算器_u.end());
^
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe.cpp:208:4:错误:尝试实例化“模板”FIter std::remove_if(_FIter,_FIter,_Predicate)'
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_uu.cpp:在函数“void delete_net(int,mxArray**,int,const mxArray**)”中:
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_u2;cpp:293:3:警告:lambda表达式仅适用于-std=c++11或-std=gnu++11
}),nets_.end());
^
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_u2;cpp:293:4:错误:调用“remove_2;if(std::vector::iterator,std::vector::iterator,delete_net(int,mxArray**,int,const mxArray**):)”时没有匹配的函数
}),nets_.end());
^
在/usr/include/c++/5/algorithm:62:0中包含的文件中,
从/包括/caffe/blob.hpp:4,
从/包括/caffe/caffe.hpp:7,
from/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_uu.cpp:18:
/usr/include/c++/5/bits/stl_-algo.h:926:5:注:候选:模板匹配std::删除if(_-FIter,_-FIter,_-Predicate)
如果(_ForwardIterator uu first,_ForwardIterator u last,
^
/usr/include/c++/5/bits/stl_algo.h:926:5:注意:模板参数推导/替换失败:
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_u2;cpp:替换“模板”FIter std::remove_if(FIter,FIter,FIter,u Predicate)[带FIter=u gnu_cxx::uu normal iterator;u Predicate=delete_net(int,mxArray**,int,const mxArray**):]:
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_.cpp:293:4:此处需要
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe_u2;cpp:293:4:错误:如果(FIter,FIter,FIter,Predicate)使用本地类型“delete_net(int,mxArray**,int,constmxarray**):”
}),nets_.end());
^
/home/mustansar/Documents/caffe master/matlab/+caffe/private/caffe.cpp:293:4:错误:尝试实例化“模板”FIter std::remove_if(_FIter,_FIter,_Predicate)'
Makefile:517:目标“matlab/+caffe/private/caffe_2;.mexa64”的配方失败
make:**[matlab/+caffe/private/caffe_u2;.mexa64]错误255

尝试将“cxflags+=-std=c++11”添加到Makefile中,然后重新编译

第一行说明了一切
警告:您正在使用gcc版本“5.4.1”。不支持gcc的版本。MEX当前支持的版本为“4.7.x”。有关当前支持的编译器的列表,请参阅:http://www.mathworks.com/support/compilers/current_release.
。使用不同的编译器。