caffe2编译protobuf报错

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安装

你可能感兴趣的:(caffe2)