本文主要記錄Win10編譯gRPC的過程以及當中遇到一些小問題的解決,
編譯的過程主要的參考:編譯gRPC的官方說明文檔
1,準備工作,如下截圖,先確認Win10已經安裝VS, Git, CMake, nasm,
如果Git使用的Portable版本,需要手動將Git的CMD文件夾加入Windows系統的PATH變量之中,例如本地路徑爲E:\DevTools\PortableGit\cmd
Git官網: https://git-scm.com/
CMake: https://cmake.org/download/
NASM: https://www.nasm.us/
2,獲取gRPC源碼,包括所需的第三方模塊源碼,在Windows的命令行窗口分步執行如下截圖的命令即可,
其中RELEASE_TAG_HERE要用真實版本號,如下:
git clone -b V1.46.4 https://github.com/grpc/grpc
注意,v1.46.4是最後一個支持C++11的版本,其他更高的gRPC版本要求C++14。
cd grpc 這行指令是進入git下載的grpc所在的文件夾,
然後,使用下面的命令行,獲取gRPCs所需的第三方依賴模塊。
git submodule update --init
有遇到一個小問題,zlib模塊不知爲何沒有下載,最後是手動從github下載zlib的源代碼。
3,用CMake生成VC工程文件。
注意ABSL_PROPAGATE_CXX_STD選項,剛開始沒有勾選,CMake會有一個警告,勾選上就可以。
另外,還有一個zlib的版本警告,手動將zlib文件夾下CMakeLists.txt的第一行的版本參數改爲2.8以上。
博主下載的zlib是1.2.12版本,下面這行中原來的是VERSION 2.4.4, 改爲2.8以上的版本消除警告。
cmake_minimum_required(VERSION 2.8.12)
4,以上步驟都成功之後,打開CMake生成的VC工程文件,進行漫長的編譯過程,工程中總計有超過120個項目,主要是依賴的第三方模塊很多的緣故.
編譯完成,就大功告成了。