install visual studio 2015 or 2017 (visual c++ compiler will be used)
(optional) install git。如果不借助梯子,git clone獲取grpc專案超高概率失敗
install cmake。
install nasm and add it to path (choco install nasm) - required by boringssl。安裝好後,主要將其安裝目錄新增到path中
.gitmodules裡面有grpc依賴的模組的資訊,包括版本與獲取方法。但是不建議通過該模組中記錄的資訊來獲取子模組,因為windows版grpcpp sdk並不需要裡面記錄的所有子模組,而且
windows版grpcpp sdk需要的子模組如下:
zipabseil-cpp
boringssl-with-bazel
cares
1. 進入grcp專案的根目錄
2. md .build
3. pushd .build
# 第4步將會在.build生成vs2015專案,之後可以選擇用vs2015生成sdk,也可以繼續用cmake 生成sdk
4. cmake .. -g "visual studio 14 2015" -wno-dev -dcmake_install_path="grpc sdk安裝路徑" -dgrpc_install=on
5. cmake --build . --config [release|debug]
6. cmake --install . --config [release|debug]
安裝grpcpp sdk到指定目錄的好處在後面會提到。
1. 進入example/cpp/helloworld
2. md .build
3. cd .build
4. cmake .. -g "visual studio 14 2015" -wno-dev -dcmake_prefix_path="grpc sdk安裝路徑"
5. cmake --build . --config [release|debug]
因為我們在前面將grpc sdk安裝到了指定目錄,因此在第4步我們可以通過cmake_prefix_path來讓camke找到protoc工具、相關標頭檔案與庫。雖然不安裝grpc sdk也同樣可以構建專案,但要麻煩些。
1. 進入專案根目錄
2. 定義proto檔案
3. 將helloworld目錄下的cmakelists.txt拷貝到當前目錄
4. 修改cmakelists.txt
a. 設定專案名稱
project(helloworld c cxx)
b. 設定proto檔案
get_filename_component(hw_proto "../../protos/helloworld.proto" absolute)
get_filename_component(hw_proto_path "$" path)
c. 以下設定非必須,只是用於protoc生成檔案時的提示資訊
set(hw_proto_srcs "$/helloworld.pb.cc")
set(hw_proto_hdrs "$/helloworld.pb.h")
set(hw_grpc_srcs "$/helloworld.grpc.pb.cc")
set(hw_grpc_hdrs "$/helloworld.grpc.pb.h")
d. 新增工程。
foreach(_target
greeter_client greeter_server
greeter_async_client greeter_async_client2 greeter_async_server)
add_executable($ "$.cc"$$)
target_link_libraries($$$
$)endforeach()
5. md .build
6. pushd .build
7. cmake .. -g "visual studio 14 2015" -wno-dev -dcmake_prefix_path="grpc sdk安裝路徑"
8. 使用vs2015開啟專案,執行生成命令就可以將proto解釋成相應的**
可以通過檢視helloworld專案的屬性來將grpc新增到現有專案中。
在include路徑中新增$/include
新增依賴庫
因為依賴的庫比較多,此處就不羅列出來了。
編譯proto檔案。
$ 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
將生成的檔案新增到工程中
/blob/master/building.md
dbus在windows上的編譯
author kagula date 2015 09 16 1 expat win32bin 2.1.0.exe 2 dbus 1.6.8.tar.gz 準備 1 先安裝expat win32bin 2.1.0.exe,我這裡的安裝路徑是 d expat 2.1.0 方式一 1 參考資料一,在 ad...
在windows上編譯apache模組
工作需要重新編譯apache自帶的proxy模組,花了一天時間終於搞定 2.配置apxs 1 安裝apxs 安裝包apxs win32 2 安裝strawberry perl 安裝包strawberry perl 5.16.3.1 32bit.msi 3 進入dos命令提示符,轉到apxs安裝目錄下...
zlib在windows上的編譯
編譯生成的庫為 zlibstatdebug zlibstat.lib 和zlibstatrelease zlibstat.lib 寫了乙個例子想測試一下,結果出現鏈結錯誤 1 unzip.obj error lnk2019 無法解析的外部符號 inflateinit2 該符號在函式 unzopenc...