Unrecognized syntax identifier "proto3". This parser only recognizes "proto2". ”问题解决方法

编译cartographer时遇到Unrecognized syntax identifier “proto3”. This parser only recognizes “proto2”.
排查:
使用 protoc --version 指令查看protobuf的版本,若版本为3.0.0以下,则需要到git上下载最新版protobuf,编译安装就好。
若显示protobuf版本为3.0.0以上,仍然报这个错误,则可能是同时安装了proto2,编译器优先找了/usr/bin/protoc的版本, 新安装的proto3是放在/usr/local/bin/protoc下的,可以删除/usr/bin/protoc,然后把/usr/local/bin/protoc放入/usr/bin目录下,或者建立软连接:
sudo mv /usr/bin/protoc /usr/bin/protoc.bk
sudo ln -s /usr/local/bin/protoc /usr/bin/protoc

参考:

https://blog.csdn.net/weixin_43707303/article/details/89015920

原文地址:https://www.cnblogs.com/sea-stream/p/11135840.html