• Google Protocol Buffers在linux环境下的安装


    Linux 下安装Google Protocol Buffers

    1、系统版本信息查看

    内核版本:uname -a || cat /proc/version

    当前操作系统版本: cat /etc/issue || lsb_release -a    ||     cat /etc/redhat-release 

    2、安装protoc编译器

    windows先已经提供了protobuf的编译器protoc.exeLinux下因为不同的系统内核导致google不能提供相应的protoc工具。需要使用Gcc自定义安装。

    运行

    ./configure

    sudo make

    sudo make check

    sudo make install 

    默认安装在:

    /usr/local/bin/protoc

    /usr/local/lib/*.so

    安装完成之后,运行 protoc --version

    会出现异常:

    protoc: error while loading shared libraries: libprotobuf.so.7: cannot open shared object file: No such file or directory

    因为有些版本的linux不会将/usr/local/lib设置到 $LD_LIBRARY_PATH变量中。需要在root用户(或者 sudo) 下修改/etc/profile(或者 ~/.bashrc)文件,将/usr/local/lib设置到 $LD_LIBRARY_PATH变量中。

    重新载入 source /etc/profile. 

    查看 env命令

    之后使用普通用户运行portoc --version(注意:protoc 及相关的so文件执行权限应修改为777)

    如果依然出现此问题,则再次进入root,运行ldconfig 更新LD_LIBRARY_PATH的缓存,即更新/etc/ld.so.cache。

    退出root,再次运行protoc --version

    或者:

    sudo ./configure  --prefix=/usr

    如果不设置这个参数,protobufinclude 和  lib 会安装到/usr/local下去,导致protoc找不到依赖的.so库,需要重新设置环境变量。有了这个参数后就可以一步到位,比较方便。

    3、linux生成protobuf-java-*.jar

    3.1 配置linux下的maven环境。 注意:设置$M2_HOME$PATH变量

    3.2 进入protobuf文件夹,mvn package即可生成 protobuf-java-*.jar。注意src文件中protoc编译器的执行权限(同 /usr/local/bin/protoc)

    参考:http://code.google.com/p/protobuf/issues/detail?id=213

    进一步的使用:http://www.kangye.org/try-google-protocol-buffers


  • 相关阅读:
    2018.4.23 深入理解java虚拟机(转)
    2018.4.23 git常用操作命令收集(转)
    2018.4.23 设计模式的一些总结
    2018.4.23 pip使用
    2018.4.23 git命令总结
    2018.4.23 git删除已经add的文件
    2018.4.17 VFS
    记北京第一次跳槽
    RocketMQ存储机制01-存储文件组织与内存映射
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318930.html
Copyright © 2020-2023  润新知