編譯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
git
參考:ide
https://blog.csdn.net/weixin_43707303/article/details/89015920.net