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)\Git\bin”加入環境變量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:\Users\lenovo\.ssh”的“id_rsa.pub”文件中。
至此,Windows安裝完成。
1.2. windows ProtoBuf安裝
啟動git的運行程序,執行下面命令下載源碼。
源碼安裝需要用到cmake工具,從官網下載cmake,解壓縮,然后將cmake命令的路徑加入環境變量PATH。
以管理員身份打開對應VS版本的“VS2013 x86 本機工具命令提示(VS2013 開發人員命令提示)”,切換到ProtoBuf編譯的目錄:
注意:必須選擇正確的命令提示。
C:\Windows\system32>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:\install\protobuf>git clone -b release-1.7.0 https://github.com/google/googlemock.git gmock F:\install\protobuf>cd gmock F:\install\protobuf\gmock>git clone -b release-1.7.0 https://github.com/google/googletest.git gtest |
切換到目錄“protobuf”目錄下,進入目錄“cmake”,創建目錄“build”,切換到目錄”build”。
F:\install\protobuf\gmock>cd .. F:\install\protobuf >cd cmake F:\install\protobuf\cmake>mkdir build F:\install\protobuf\cmake>cd build F:\install\protobuf\cmake\build> |
生成“Release”版本,會生成VS的解決方案文件“protobuf.sln”在當前目錄。
F:\install\protobuf\cmake\build>mkdir release F:\install\protobuf\cmake\build>cd release F:\install\protobuf\cmake\build\release>cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../../../install ../.. F:\install\protobuf\cmake\build\release>cd .. F:\install\protobuf\cmake\build>mkdir solution F:\install\protobuf\cmake\build>cd solution F:\install\protobuf\cmake\build\solution>cmake -G "Visual Studio 12 2013 Win64" -DCMAKE_INSTALL_PREFIX=../../../../install ../.. |
生成”Debug”版本,會生成VS的解決方案文件“protobuf.sln”在當前目錄。
F:\install\protobuf\cmake\build>mkdir debug F:\install\protobuf\cmake\build>cd debug F:\install\protobuf\cmake\build\debug> cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../../../install ../.. F:\install\protobuf\cmake\build\debug>cd .. F:\install\protobuf\cmake\build>mkdir solution F:\install\protobuf\cmake\build>cd solution F:\install\protobuf\cmake\build\solution>cmake -G "Visual Studio 12 2013 Win64" -DCMAKE_INSTALL_PREFIX=../../../../install ../.. |
注:Release和Debug請選擇一種方式。
編譯protobuf:
F:\install\protobuf\cmake\build\solution>cd .. F:\install\protobuf\cmake\build>cd release F:\install\protobuf\cmake\build\release>nmake F:\install\protobuf\cmake\build\release>nmake check F:\install\protobuf\cmake\build\release>nmake install |
or:
F:\install\protobuf\cmake\build\solution>cd .. F:\install\protobuf\cmake\build>cd debug F:\install\protobuf\cmake\build\debug>nmake F:\install\protobuf\cmake\build\debug>nmake check F:\install\protobuf\cmake\build\debug>nmake install |
在f:\install\install下會生成編譯后的文件,包含三個目錄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:\install\protobuf\java\core\target生成protobuf-java-3.0.0-beta-2.jar
在目錄F:\install\protobuf\java\lite\target下生成protobuf-lite-3.0.0-beta-2.jar
也可以使用ecplise打開項目,然后執行編譯和打包。