1:caffe2编译报错google::protobuf::internal::empty_string_ label:Protobuf
答:2.5.1替换为3.2.0即可。
2:leveldb::DB::Open(leveldb::Options const&, std::string const&, leveldb::DB**)
答:不编译leveldb, cmake时添加-DUSE_LEVELDB=OFF
或者
直接下载最新的leveldb, sudo apt-get install libleveldb-dev安装的leveldb为1.18,最高1.20,但opencv必须要求<=1.19。github上切换到1.19试试
编译leveldb的方法:
cd leveldb
make
此时leveldb/下多出out-shared和out-static目录,其中out-shared/下有:
db db_bench helpers libleveldb.so libleveldb.so.1 libleveldb.so.1.19 port table util
然后sudo cp out-shared/libleveldb.so* /usr/lib && sudo cp -R include/* /usr/include
sudo ldconfig后重新编译,错误解决
3:undefined reference to google::FlagRegisterer
答:改变gflags版本,不要用apt-get安装