vs2015編譯使用GRPC

1.獲取源碼:位於github上html

電腦裝有git的直接克隆,未裝git下載壓縮包也能夠
git clone  https://github.com/grpc/grpc.git
cd grpc
git submodule update --init  這條命令在我電腦上不起做用,我採用的辦法是,對着grpc文件夾點擊鼠標右鍵,選擇
【tortoiseGit】->選擇【更新子模塊】,若是沒有安裝Git能夠點開github上grpc\third_party目錄,能夠看到grpc外部連接的子模塊的地址,一個個下載便可
 
2.下載依賴包:opensll 和zlib
我的習慣用vs,那咱們開始編譯,編譯以前須要下載nuget,要下載windows的.exe後綴,網上大多說的都是結合vs的,是錯誤的,地址:https://dist.nuget.org/index.html,不須要安裝,將該文件至於環境變量目錄下,便可執行nuget命令,用於依賴包的網絡下載。主要是依賴於openssl和zlib庫。

1:cd grpc   cd vsprojectsjava

2:nuget restore grpc.sln,在vs命令行窗口執行這句,dos窗口我沒試過,不知道是否也能夠c++

3.下載gmockgit

cd grpc\third_party\protobufgithub

下載gmock: git clone -b release-1.7.0 https://github.com/google/googlemock.git gmockwindows

cd gmock :git clone -b release-1.7.0 https://github.com/google/googletest.git gtest網絡

上述兩個包下載若是沒有安裝git,直接去下載壓縮包ide

4.下載界面版的cmakeui

因爲probuf沒有.sln文件,我下載了界面版cmake,我的認爲界面版的cmake不要安裝,還比命令行好用,cmake中選擇vs std 14 2015便可,後面講下使用cmake時指定的兩個目錄:資源目錄爲有CMakeList的目錄,即:third_party\protobuf\cmake,生成sln的目錄:grpc\third_party\protobuf\cmake\build\solution,爲何是這個目錄呢?google

由於後面grpc會用你編譯的庫,你指定這個目錄就不用修改【附加庫目錄】了,若是你生成庫爲debug版本,後面多個d,則去掉

5.開始編譯protobuf,

打開sln,用vs2015編譯便可,這個應該是很是順利的,不會有什麼錯誤,生成的debug庫最好去掉‘d’,好比:libprotobufd.lib改成libprotobuf.lib

      6.開始編譯grpc和grpc插件

cd grpc\vsprojects 打開工程既可,編譯便可

我只遇到了個錯誤:error1189,在【預處理器】定義中添加_WIN32_WINNT=0x600,若是報什麼連接錯誤就簡單了,你們能夠自行查出缺乏了哪些庫,若是你搞不清庫應該放在哪一個路徑,你能夠直接指定庫的目錄,最後有個關於grpc++dll的子項目沒有經過,不用管,由於咱們要用的是grpc和grpc++

7.集成

建議你們先採用官方的實例集成,目錄:grpc\examples\protos,生成c++文件
官方說明:http://doc.oschina.net/grpc?t=57966
生成命令:在dos裏執行便可
$protoc -I ../../protos --grpc_out=. --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` ../../protos/route_guide.proto
$protoc -I ../../protos --cpp_out=. ../../protos/route_guide.proto
爲何要採用官方的例子,請看下面說明:
這裏我遇到個大坑,java同事把的proto文件發給我,我直接用,怎麼集成都有編譯錯誤,注意這裏是編譯錯誤,我開始懷疑上面我作錯了哪一步,後來把他的proto裏的代碼拷貝到官方的route_guide.proto,調成和官方同樣的格式,好比空格等,後來集成成功,由於這個問題,我反覆編譯了好幾回
grpc等等,浪費了大量時間
若是集成遇到了連接錯誤:則將對應的庫強制包含裏面,
include:

libs:


zlib和ssl的庫我是經過nuget下的教程,https://www.nuget.org/packages/openssl/
方法一:在VS中用nuget控制檯執行命令便可,這個網上有大量教程,簡單易用,方法二:你能夠本身cmake或者下載
集成demo以下:個人demo有幾層命令空間,若是很差理解,請你們參照上面官方的示例
相關文章
相關標籤/搜索