目标检测安装:SSD编译时json_parser_read.hpp报错

版权声明:本文为博主原创文章,转载请注明出处,谢谢。 https://blog.csdn.net/wfei101/article/details/83212562

方法1:

报错原因:

json_parser_read.hpp:257:264: error: ‘type name’ declared as function returning an array escape
  • 因为是在公共服务器上,没有权限修改json_parser_read.hpp,可以通过修改caffe源码来解决这个错误。 

在caffe_root/src/caffe/layers/下打开detection_output_layer.cpp和detection_output_layer.cu 注释掉:

write_json(ss,output);

这一行。

在caffe_root/include/caffe/layers/下打开detection_output_layer.hpp注释掉:

#include <boost/property_tree/json_parser.hpp>

重新编译即可。

办法2: 
修改json_parser_read.hpp:打开文件夹Document,选中computer,在搜索json_parser_read.hpp,找到该文件的路径之后用如下命令打开

sudo gedit /usr/include/boost/property_tree/detail/json_parser_read.hpp

将257行开始的escape代码段注释掉即可,如下:

/*escape = chset_p(detail::widen<Ch>("\"\\/bfnrt").c_str())

[typename Context::a_escape(self.c)]

| 'u' >> uint_parser<unsigned long, 16, 4, 4>()

[typename Context::a_unicode(self.c)]

;*/

猜你喜欢

转载自blog.csdn.net/wfei101/article/details/83212562