您的位置:首页 > 其它

Ubuntu下protobuf的安装、编译及注意事项

2018-05-27 20:45 417 查看

Ubuntu下编译protobuf

1.下载protobuf
下载地址:https://github.com/google/protobuf/releases

2.编译protobuf
解压下载的zip包,cd到protobuf的目录下,执行以下指令:
tar -xvf protobuf
cd protobuf
./configure –prefix=/usr/local/protobuf
make
make check
make install

在protobuf解压包的根目录下的README.md文件中看到c++的编译方法,根据提示进入到protobuf根目录下的src目录,该目录下的README.md就是c++的编译方法,上述的编译步骤可从该文件中找到。

3.检查安装是否成功
protoc –version
如果成功,则会输出版本号信息,例如:libprotoc 3.5.1
如果有问题,则会输出错误内容。

4.错误及解决方法
protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared
错误原因:
protobuf的默认安装路径是/usr/local/lib,而/usr/local/lib 不在Ubuntu 4000 体系默认的 LD_LIBRARY_PATH 里,所以就找不到该lib
解决方法:
1.创建文件 /etc/ld.so.conf.d/libprotobuf.conf 包含内容:
/usr/local/lib

2.输入命令重点内容
sudo ldconfig

这时,再运行protoc –version 就可以正常看到版本号了

如果protoc不能使用,则:

(1) vim /etc/profile,添加
  export PATH=$PATH:/usr/local/protobuf/bin/
  export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
  保存执行,source /etc/profile。同时在~/.profile中添加上面两行代码,否则会出现登录用户找不到protoc命令。
(2) 配置动态链接库
  vim /etc/ld.so.conf,在文件中添加/usr/local/protobuf/lib(注意: 在新行处添加),然后执行命令: ldconfig

protoc编译器应用:

protoc addressbook.proto –cpp_out=./

生成可执行文件:
g++ addPerson.cpp addressbook.pb.cc -o addPerson -lpthread -l protobuf

注:

如果不加 “-lpthread -l protobuf”参数可能会导致编译报错。

参考:

https://www.geek-share.com/detail/2582978784.html
https://www.geek-share.com/detail/2626083982.html
https://www.geek-share.com/detail/2695641541.html
https://www.geek-share.com/detail/2695638161.html

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: