ProtoBuf安装使用说明
ProtoBuf由两个部件组成,一个是protoc,用于编译.proto,生成对应语言的代码;一个是各种语言各种系统对应的库。
1. 安装
1.1. git安装
由于需要开源项目都使用git对代码进行管理,为了使用方便,首先在windows安装git。
目前Git已经可以在windows下使用,主要方法有二:msysgit和Cygwin,我们选择Cygwin。
从http://dlsw.baidu.com/sw-search-sp/soft/4e/30195/Git-2.7.2-32-bit_setup.1457942412.exe下载Git-2.7.2-32-bit_setup.1457942412.exe。
安装Git详细步骤参考如下安装示意图:
点击上图的“Finish”后Git的安装就完成了,安装完成后需要在进行一下环境变量的设置,将”C:Program Files (x86)Gitin”加入环境变量PATH。
生成ssh公钥
双击桌面上的git运行程序:
启动git的运行程序:
在程序中依次输入:
1、配置email,命令如下:
$git config --global user.name "your name"
$git config --global user.email "your@email.address"
其中"your name"换成你的名字,"your@email.address"换成你的邮箱地址。
2、生成公钥,用于身份认证:
ssh-keygen.exe -C "your@email.address" -t rsa
这样就可以在你的用户下取得需要的公钥匙,公钥位于你的电脑中“C:Userslenovo.ssh”的“id_rsa.pub”文件中。
至此,Windows安装完成。
1.2. windows ProtoBuf安装
启动git的运行程序,执行下面命令下载源码。
源码安装需要用到cmake工具,从官网下载cmake,解压缩,然后将cmake命令的路径加入环境变量PATH。
以管理员身份打开对应VS版本的“VS2013 x86 本机工具命令提示(VS2013 开发人员命令提示)”,切换到ProtoBuf编译的目录:
注意:必须选择正确的命令提示。
C:Windowssystem32>f: F:>mkdir install F:>cd install |
下载源码:
F:install>git clone https://github.com/google/protobuf.git |
注:ProtoBuf的源码安装方法参照它的REDEME。
切换目录,下载gmock(ProtoBuf unit-tests需要gmock构建),切换目录到gmock目录,然后下载gtest
F:install>cd protobuf F:installprotobuf>git clone -b release-1.7.0 https://github.com/google/googlemock.git gmock F:installprotobuf>cd gmock F:installprotobufgmock>git clone -b release-1.7.0 https://github.com/google/googletest.git gtest |
切换到目录“protobuf”目录下,进入目录“cmake”,创建目录“build”,切换到目录”build”。
F:installprotobufgmock>cd .. F:installprotobuf >cd cmake F:installprotobufcmake>mkdir build F:installprotobufcmake>cd build F:installprotobufcmakeuild> |
生成“Release”版本,会生成VS的解决方案文件“protobuf.sln”在当前目录。
F:installprotobufcmakeuild>mkdir release F:installprotobufcmakeuild>cd release F:installprotobufcmakeuild elease>cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../../../install ../.. F:installprotobufcmakeuild elease>cd .. F:installprotobufcmakeuild>mkdir solution F:installprotobufcmakeuild>cd solution F:installprotobufcmakeuildsolution>cmake -G "Visual Studio 12 2013 Win64" -DCMAKE_INSTALL_PREFIX=../../../../install ../.. |
生成”Debug”版本,会生成VS的解决方案文件“protobuf.sln”在当前目录。
F:installprotobufcmakeuild>mkdir debug F:installprotobufcmakeuild>cd debug F:installprotobufcmakeuilddebug> cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../../../install ../.. F:installprotobufcmakeuilddebug>cd .. F:installprotobufcmakeuild>mkdir solution F:installprotobufcmakeuild>cd solution F:installprotobufcmakeuildsolution>cmake -G "Visual Studio 12 2013 Win64" -DCMAKE_INSTALL_PREFIX=../../../../install ../.. |
注:Release和Debug请选择一种方式。
编译protobuf:
F:installprotobufcmakeuildsolution>cd .. F:installprotobufcmakeuild>cd release F:installprotobufcmakeuild elease>nmake F:installprotobufcmakeuild elease>nmake check F:installprotobufcmakeuild elease>nmake install |
or:
F:installprotobufcmakeuildsolution>cd .. F:installprotobufcmakeuild>cd debug F:installprotobufcmakeuilddebug>nmake F:installprotobufcmakeuilddebug>nmake check F:installprotobufcmakeuilddebug>nmake install |
在f:installinstall下会生成编译后的文件,包含三个目录bin、include、lib,分别存储命令protoc命令、头文件、静态库。
注:生成的是静态库,由于Windows各个版本的实现的不同,使用时请使用静态库(如果生成动态库,只需要在cmake命令中添加参数“-Dprotobuf_BUILD_SHARED_LIBS=ON”)。
使用时,配置项目属性:项目属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库,设置为: 多线程调试(/MTd)
1.3. Linux ProtoBuf安装
Linux安装需要用到autoconf、automake、libtool和curl(用于下载gmock,可以在Windows下下载好gmock,就不需要curl了)。
将windows下通过git下载的源码传入Linux下,进入目录protobuf,然后以root用户执行以下的命令:
$ ./autogen.sh $ ./configure $ make $ make check $ make install $ ldconfig |
这样安装在了/usr/local目录下,头文件在/usr/local/include下的“google”目录,头文件引用时直接引用这个目录就可以;库文件为目录/usr/local/lib下的libprotobuf-lite.so和libprotobuf.so;protoc命令在/usr/local/bin下。
1.4. windows Java ProtoBuf安装
下载源码,参考Windows ProtoBuf安装;Java的安装过程参考文件/protobuf/java/README.md。
l 使用Maven安装
Java安装ProtoBuf需要工具Maven,需要先安装Maven。
将Windows下生成的protoc.exe拷贝到目录/protobuf/src下,在目录/protobuf/java/下执行:
mvn test mvn instll mvn package(生成.jar包) |
在目录F:installprotobufjavacore arget生成protobuf-java-3.0.0-beta-2.jar
在目录F:installprotobufjavalite arget下生成protobuf-lite-3.0.0-beta-2.jar
也可以使用ecplise打开项目,然后执行编译和打包。