ubuntu 安装protobuf
最近安装ros导致之前工程中使用protobuf版本不一致,出现“未定义的引用****google :: protobuf :: internal :: empty_string_ [abi:cxx11](Undefined reference to google::protobuf::internal::empty_string_[abi:cxx11])”这样的问题导致程序编译不过,搜索网上的解决办法,相互交流一下,希望对此有些帮助。
问题原因
主要是因为安装ros时安装的版本与自己之前使用的protobuf版本不一致,在安装之前一定要查看一下自己本地的版本:
protoc --version
在得到自己本地版本之后,按照实际情况进行处理。
卸载之前的protobuf
sudo apt-get purge libprotobuf-dev protobuf-compiler libprotoc10 -y
sudo apt-get autoremove
which protoc //删除路径即可
安装protobuf
安装步骤:
1.下载protobuf,并解压
protobuf下载地址:https://codeload.github.com/google/protobuf/zip/v3.2.0
2.安装步骤
cd protobuf-3.2.0
./autogen.sh
./configure
make
make check //很慢,可以跳过这一步
sudo make install
sudo ldconfig
3.查看版本
protoc --version