目標檢測安裝:SSD編譯時json_parser_read.hpp報錯
阿新 • • 發佈:2018-12-16
方法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)] ;*/