转自:http://m.blog.csdn.net/blog/liu251/6730447
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.exe。Linux下因为不同的系统内核导致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
如果不设置这个参数,protobuf的include 和 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
分享到:
相关推荐
标题中的"ProtocolBuffers-2.2.0-Source (1).tar.gz"指的是谷歌的Protocol Buffers(简称protobuf)的2.2.0版本源代码压缩包,它以.tar.gz格式打包,这是一种常见的Linux和macOS下的文件压缩方式。这个压缩包可能是...
可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换。作为一种效率和兼容性都很优秀的二进制数据传输格式,可以用于诸如网络传输、配置文件、数据存储等诸多领域。 本资源包含: protobuf-all-3.6.0....
* 平台无关:Protocol Buffers可以在不同的平台中使用,包括Windows、Linux、Mac OS等。 三、基于Protocol Buffers的配置下发接口适配 为了让Protocol Buffers与现有的网管接口(如CLI)进行适配,需要设计一个...
Protocol Buffers是Google开发的一种数据序列化协议,它允许开发者定义数据结构,然后生成能够在各种数据流中高效存储和传输这些数据的代码。这种技术常用于网络通信、数据存储以及跨平台数据交换。 在描述 "A ...
本资源包"Linux环境下源码编译软件合集.rar"提供了一系列必要的工具,包括Java开发工具包(JDK)、构建工具Maven、Web服务器Tomcat、自动化构建工具Ant以及协议缓冲库Protocol Buffers,还有静态代码分析工具...
Linux版本的`protoc`是Google开源的Protocol Buffers(简称protobuf)编译器在Linux操作系统上的实现。Protocol Buffers是一种高效的数据序列化协议,它允许开发者定义数据结构,然后生成能够在各种编程语言中轻松...
本教程将详细讲解如何在Linux环境下编译Hadoop源码,涉及的相关工具包括Java开发工具(JDK)、Apache Ant、Apache Maven以及Protocol Buffers。 首先,你需要一个Java运行环境来编译依赖Java的项目,如Hadoop。这里...
Google Protocol Buffers(简称protobuf)是一种高效、灵活且跨平台的数据序列化协议,由Google开发。它允许开发者定义数据结构,然后生成代码来轻松地读写这些数据到各种数据流中。在2.3.0版本中,protobuf提供了对...
标题中的"protoc-3.19.1-linux-x86_64.zip"指的是Google开源的Protocol Buffers(简称protobuf)编译器protoc的3.19.1版本,针对Linux操作系统且适用于x86_64(64位)架构的安装包。protobuf是一种高效的数据序列化...
总的来说,nanopb-0.3.6-linux-x86.tar.gz是一个针对Linux x86架构的高通相关项目中使用的轻量级Protocol Buffers实现,包含了源代码、文档、构建脚本等资源,便于开发者在Linux环境下进行编译和使用。
这个版本是针对Linux系统的,因此在Linux环境下可以使用。 描述中提到的"编译hadoop必备工具",揭示了protobuf在大数据处理领域的重要角色。Hadoop是Apache基金会的一个开源项目,提供了一个分布式文件系统(HDFS)...
7. **libprotobuf和protobuf-compiler**:Google的Protocol Buffers库,用于数据序列化和通信。 8. **cmake**:构建系统工具,用于编译MySQL源代码。 9. **libnuma**:内存分配库,有助于优化多核系统上的内存管理。...
Protocol Buffers是Google开发的一种数据序列化协议,它允许结构化数据序列化,类似于XML、JSON,但更小、更快、更简单。这个版本3.7.1的tar.gz文件是一种在Linux和Unix系统上常见的压缩格式,用于打包和分发源代码...
标题中的“Windows环境使用google protobuf实现简单的例子”指的是在Windows操作系统下,利用Visual Studio (VS) 2010开发环境,结合Google的Protocol Buffers(protobuf)版本2.5.0进行简单应用的教程。protobuf是...
总的来说,Protocol Buffers是一种强大的工具,尤其适用于跨平台、高性能和低带宽环境下的数据交换。protoc-3.11.1.zip的下载和安装是使用Protocol Buffers的第一步,它为开发者提供了将数据模型转换为实际代码的...
(内附源码编译文档)Protocol buffers是一个灵活的、高效的、自动化的用于对结构化数据进行序列化的协议,与XML相比,Protocol buffers序列化后的码流更小、速度更快、操作更简单。
在描述中提到的“官网地址:https://github.com/protocolbuffers/protobuf/releases”,这是protobuf项目的官方GitHub仓库,用户可以在该页面找到protobuf的所有发布版本,包括源代码、预编译的二进制文件以及相关...
标题中的"protobuf linux"反复提及,表明我们讨论的是在Linux操作系统环境下使用Protocol Buffers(简称protobuf)的相关知识。Protocol Buffers是Google开发的一种数据序列化协议,它允许开发者定义数据结构,然后...