这个错误大概率是我系统的问题,onnx编译需要用到protobuf,而我系统里面的protobuf版本是3.0.0,但是onnx里面用到了新版本protobuf的函数,在编译的时候会报链接找不到库的问题** _ZNK6google8protobuf7Message11GetTypeNameEv **
所以我从网上下载了3.6.1版本的protobuf进行编译安装,然后删除了系统自带的protobuf sudo apt purge libprotobuf-dev
,再运行cmake的时候提示protobuf找不到,查看cmake的记录,提示是在系统安装的cmake里面有个 * /usr/share/cmake-3.10/Modules/FindProtobuf.cmake * 文件,这个文件是是cmake查找protobuf的Module,这个问题可以通过在onnx的顶层CMakeLists.txt文件里面添加 *set(Protobuf_INCLUDE_DIR “/usr/local/include”)*来解决。