matlab接口的编译真是泪千行。。。本来我是不用matlab的 ,但是带我的师兄只用matlab,为了学习他的程序我不得不编译接口。。。

make  matcaffe之后一开始就出现了gcc版本不合的问题,这个我猜大部分人都遇到过

目前caffe只支持4.7版本

因此我们要降级gcc和g++

我用的就是这位博主的方法,查了很多其他的方法都没用。。。各位看官可以去围观一波。。这个方法我用完就可以编译了

http://www.cnblogs.com/loveyakamoz/archive/2012/12/26/2833967.html

最棒棒的是这个方法并不会删除gcc版本,以后你想升回来很方便!是不是很棒棒!

把gcc编译好之后又遇到了另一个问题

 1 $make matcaffe -j8
 2 MEX matlab/+caffe/private/caffe_.cpp
 3 使用 'g++' 编译。
 4 /home/zkk/caffe/matlab/+caffe/private/caffe_.cpp: In function ‘void delete_solver(int, mxArray**, int, const mxArray**)’:
 5 /home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:208:3: warning: lambda expressions only available with -std=c++11 or -std=gnu++11 [enabled by default]
 6 /home/zkk/caffe/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> >&)>)’
 7 /home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:208:4: note: candidate is:
 8 In file included from /usr/include/c++/4.7/algorithm:63:0,
 9                  from ./include/caffe/blob.hpp:4,
10                  from ./include/caffe/caffe.hpp:7,
11                  from /home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:18:
12 /usr/include/c++/4.7/bits/stl_algo.h:1166:5: note: template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)
13 /home/zkk/caffe/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> >&)>’
14 /home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:208:4: error:   trying to instantiate ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’
15 /home/zkk/caffe/matlab/+caffe/private/caffe_.cpp: In function ‘void delete_net(int, mxArray**, int, const mxArray**)’:
16 /home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:293:3: warning: lambda expressions only available with -std=c++11 or -std=gnu++11 [enabled by default]
17 /home/zkk/caffe/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> >&)>)’
18 /home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:293:4: note: candidate is:
19 In file included from /usr/include/c++/4.7/algorithm:63:0,
20                  from ./include/caffe/blob.hpp:4,
21                  from ./include/caffe/caffe.hpp:7,
22                  from /home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:18:
23 /usr/include/c++/4.7/bits/stl_algo.h:1166:5: note: template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)
24 /home/zkk/caffe/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> >&)>’
25 /home/zkk/caffe/matlab/+caffe/private/caffe_.cpp:293:4: error:   trying to instantiate ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’
26
27 Makefile:518: recipe for target 'matlab/+caffe/private/caffe_.mexa64' failed
28 make: *** [matlab/+caffe/private/caffe_.mexa64] Error 255

各种百度无果。。。最后在caffe中文社区上找到的方法,,跟我一模一样的问题

解决办法是:

在Makefile里面,大约第410行那一句话

CXXFLAGS += -MMD -MP

下面添加CXXFLAGS += -std=c++11,

最后是这样 CXXFLAGS += -MMD -MP CXXFLAGS += -std=c++11

然后在caffe根目录下make clean,make all

宾果!matlab就这样顺利编译好啦!!!

make matcaffe:出现的问题及解决办法相关推荐

  1. dev c++ 调试时候发生软件崩溃解决办法

    dev c++ 调试时候发生软件崩溃解决办法 安装好dev cpp,准备调试的时候发现软件崩溃,这种情况很好解决.只要在工具菜单中点开编译选项,找到代码生成/优化一栏,将链接器的"产生调试信 ...

  2. js ajax 递归,javascript ajax循环请求/ 长轮询终极解决办法——递归

    ajax循环请求,不能使用for循环,原因如下: 1. 因为ajax是异步执行,在还没有拿到服务器响应内容,就进入下一个for循环中 解决办法:递归currentIndex = 0; function ...

  3. hive mysql 不兼容_Hive+mySql遇到的问题和解决办法

    问题1: Exception in thread "main" java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteEx ...

  4. 微信小程序wx.request POST获取不到数据解决办法

    get //发起请求     wx.request({       url: 'http://www.xiaochengxu.com/home/index/curd', //仅为示例,并非真实的接口地 ...

  5. 主机/服务器某端口被占用及解决办法

    1.端口的概念 在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型.物理端口指的是物理存在的端口,如ADSL Modem.集线器.交换机.路由器上用 于连接其他网络设备的接口,如RJ-45端 ...

  6. 关于HttpClient上传中文乱码的解决办法

    使用过HttpClient的人都知道可以通过addTextBody方法来添加要上传的文本信息,但是,如果要上传中文的话,或还有中文名称的文件会出现乱码的问题,解决办法其实很简单: 第一步:设置Mult ...

  7. 使用hibernate与mysql时数据不能插入的原因及解决办法

    1.背景 之前从没用过hibernate,因此在网上搜了一下hibernate快速入门方面的信息,最后我按照<Myeclipse Hibernate 快速入门 中文版>(CSDN,百度文库 ...

  8. 为什么ajax请求状态码为0,ajax请求状态码为0的解决办法

    原文链接:https://blog.csdn.net/changqing5818/article/details/53932463 前言 今天遇到个奇怪的问题,使用JQuery的ajax请求,后台的C ...

  9. ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

    在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener ...

最新文章

  1. 电脑安装android2.0,电脑上怎么安装使用安卓系统
  2. PowerDesigner概念模型详解
  3. Oracle 11gR2发布11.2.0.3 Patchset补丁集-又一重量级更新
  4. ESP8266等模块
  5. 神经网络告诉我,谁是世界上最「美」的人?
  6. 项目alpha冲刺-总结
  7. git使用笔记(一)入门
  8. Abaqus软件2021新版本新功能详解
  9. 自学编程的 6 个致命误区
  10. 对 Unity 动画系统 Mecanim 的调研
  11. html qq在线状态,qq各种在线状态意思
  12. 汉化+破解Substance Painter 2019 macv2019.1.0图文展示
  13. js实现局部打印,并处理浏览器提示Avoid using document.write()导致无法打印问题
  14. IntelliJ IDEA 如何增加运行时候的内存
  15. Dell戴尔G7 7588换m.2 nvme固态硬盘+系统迁移
  16. 批量检测商品是否下架,批量查询商品信息接口
  17. 【Rust日报】2021-08-30 如何来看待 unwrap
  18. 全国计算机技术与软件专业资格(水平)考试介绍
  19. ADC参数定义以及选型指南
  20. 【官方推荐方式】【原创】安卓换肤踩坑纯色模式app使用attr轻松实现定制颜色主题和深色主题...

热门文章

  1. html字两边的横线_css怎么在文字两边加上横线,word文字两边加横线
  2. php绘制频谱图,H5的Canvas如何实现绘制音乐环形频谱图
  3. 2021年R1快开门式压力容器操作免费试题及R1快开门式压力容器操作考试试题
  4. JavaScript网页设计:用户注册页面
  5. malloc 是怎么回事
  6. 如何删除Word空白页,这四种方法轻松搞定
  7. 设计模式从入门到放弃
  8. MTK王者归来,它曾犯的5个错误也值得本土芯片公司引鉴
  9. 学了mysql能做什么的_学sql能干什么
  10. 做AI手语数字人,是让聋人用熟悉的方式去理解健听人的表达方式