1. 程式人生 > >目標檢測安裝:SSD編譯時json_parser_read.hpp報錯

目標檢測安裝:SSD編譯時json_parser_read.hpp報錯

方法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)]

;*/