Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
thommyho committed Jul 15, 2022
1 parent 44802c9 commit 5a08976
Showing 1 changed file with 118 additions and 31 deletions.
149 changes: 118 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,129 @@
# Prebuilt binaries gRPC C++ for Windows

##### Current stable build of gRPC v1.47.0 and v1.46.4
##### Current stable build of gRPC v1.46.4

##### Latest release (no pre-releases) gRPC [v1.47.0](https://github.com/grpc/grpc/releases/tag/v1.47.0)
##### Hotfix branch for v1.46.4 (Only requires C++11 support) gRPC [v1.46.4](https://github.com/grpc/grpc/releases/tag/v1.46.4)
##### gRPC [v1.46.4](https://github.com/grpc/grpc/releases/tag/v1.46.4)

> They can be downloaded separately as zip archives from the [releases](https://github.com/thommyho/gRPC_windows/releases) page
>
> For Information about the build information (compiler(s), sdks, etc follow Build-Info links (tracking since 1.22.0)
#### Additional Visual Studio Examples
##### Releases

Nearly all C++ Examples from https://github.com/grpc/grpc/tree/master/examples/cpp had been ported to the same structure as mentioned in the release notes.
They are maintained in this repository: https://github.com/thommyho/Cpp-gRPC-Visual-Studio-Examples - Only tested with v1.42.0 and above.
| Version | Commit | Debug | Release | RelWithDebInfo | MSVC143 32Bit | MSVC143 64Bit | MSVC142 32 Bit | MSVC142 64 Bit | Example |
|-------------------------------------------------------------------------|------------------------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|
| [1.46.4](https://github.com/thommyho/gRPC_windows/releases/tag/v1.46.3) | a672e22bd1e10b3ff2a91aaae5aee3a65cc95bfe | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |

#### Additional Documentation
Build instructions from here: <https://github.com/grpc/grpc/blob/master/BUILDING.md>

&#8594; &#8594; [Step by step installation (usage) guide](https://thommyho.github.io/Cpp-gRPC-Windows-PreBuilts) &#8592; &#8592;
Examples included. Tested with VS2019, VS2022 Enterprise and msvc142, msvc143 (Win 10, SDK 10.0)

##### Releases
#### Information about Build system and Tools

| Operating System | SDK Version |
|------------------|-------------|
| Windows 10 (x64) | 10.0 |

| Build Tool | Version |
|------------|-------------|
| nasm | 2.15.05 |
| cmake | 3.23.1 |
| golang | 1.19 |
| MSVC 142 | 19.29.30143 |
| MSVC 143 | 19.31.31107 |

#### gRPC c++ Third Party Components

| Third Party Component | Version | Commit | Link |
|-----------------------|------------|------------------------------------------|--------------------------------------------------------------|
| abseil-cpp | 20211102.0 | 215105818dfde3174fe799600bb0f3cae233d0bf | <https://github.com/abseil/abseil-cpp> |
| benchmark | | 0baacde3618ca617da95375e0af13ce1baadea47 | <https://github.com/google/benchmark> |
| bloaty | | 60209eb1ccc34d5deefb002d1b7f37545204f7f2 | <https://github.com/google/bloaty> |
| boringssl-with-bazel | | b9232f9e27e5668bc0414879dcdedb2a59ea75f2 | <https://github.com/google/boringssl> |
| cares | | 6654436a307a5a686b008c1d4c93b0085da6e6d8 | <https://github.com/c-ares/c-ares> |
| envoy-api | | 9c42588c956220b48eb3099d186487c2f04d32ec | <https://github.com/envoyproxy/data-plane-api> |
| googleapis | | 2f9af297c84c55c8b871ba4495e01ade42476c92 | <https://github.com/googleapis/googleapis> |
| googletest | | 0e402173c97aea7a00749e825b194bfede4f2e45 | <https://github.com/google/googletest> |
| libuv | v1.37.0 | 02a9e1be252b623ee032a3137c0b0c94afbe6809 | <https://github.com/libuv/libuv> |
| opencensus-proto | v0.3.0 | 4aa53e15cbf1a47bc9087e6cfdca214c1eea4e89 | <https://github.com/census-instrumentation/opencensus-proto> |
| opentelemetry | | 60fa8754d890b5c55949a8c68dcfd7ab5c2395df | <https://github.com/open-telemetry/opentelemetry-proto> |
| protobuf | v3.19.4 | 22d0e265de7d2b3d2e9a00d071313502e7d4cccf | <https://github.com/google/protobuf> |
| protoc-gen-validate | | 9da36e59fef2267fc2b1849a05159e3ecdf24f3 | <https://github.com/envoyproxy/protoc-gen-validate> |
| re2 | 2021-09-01 | 8e08f47b11b413302749c0d8b17a1c94777495d5 | <https://github.com/google/re2> |
| xds | | cb28da3451f158a947dfc45090fe92b07b243bc1 | <https://github.com/cncf/xds> |
| zlib | v1.2.12 | 21767c654d31d2dccdde4330529775c6c5fd5389 | <https://github.com/madler/zlib> |

#### Directory Setup for using/testing the provided HelloWorld-Example(s)

| Version | Build-Info | Debug | Release | RelWithDebInfo | MSVC143 32 Bit | MSVC143 64 Bit | MSVC142 32Bit | MSVC142 64Bit | MSVC141 32 Bit | MSVC141 64 Bit | MSVC140 32 Bit | MSVC140 64 Bit | Example |
|--------------------------------------------------------------------------|------------------------------------------------------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|-------------------------|
| [1.46.4](https://github.com/thommyho/gRPC_windows/releases/tag/v1.46.4) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.46.4) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | | | :ballot_box_with_check: |
| [1.47.0](https://github.com/thommyho/gRPC_windows/releases/tag/v1.47.0) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.47.0) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | | | :ballot_box_with_check: |
| [1.46.3](https://github.com/thommyho/gRPC_windows/releases/tag/v1.46.3) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.46.3) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | | | :ballot_box_with_check: |
| [1.46.1](https://github.com/thommyho/gRPC_windows/releases/tag/v1.46.1) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.46.1) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | | | :ballot_box_with_check: |
| [1.45.2](https://github.com/thommyho/gRPC_windows/releases/tag/v1.45.2) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.45.2) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | | | :ballot_box_with_check: |
| [1.45.1](https://github.com/thommyho/gRPC_windows/releases/tag/v1.45.1) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.45.1) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
| [1.45.0](https://github.com/thommyho/gRPC_windows/releases/tag/v1.45.0) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.45.0) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
| [1.44.0](https://github.com/thommyho/gRPC_windows/releases/tag/v1.44.0) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.44.0) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
| [1.43.2](https://github.com/thommyho/gRPC_windows/releases/tag/v1.43.2) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.43.2) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
| [1.43.0](https://github.com/thommyho/gRPC_windows/releases/tag/v1.43.0) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.43.0) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
| [1.42.0](https://github.com/thommyho/gRPC_windows/releases/tag/v1.42.0) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.42.0) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
| [1.41.1](https://github.com/thommyho/gRPC_windows/releases/tag/v1.41.1) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.41.1) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
| [1.41.0](https://github.com/thommyho/gRPC_windows/releases/tag/v1.41.0) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.41.0) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
| [1.40.0](https://github.com/thommyho/gRPC_windows/releases/tag/v1.40.0) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.40.0) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
| [1.39.1](https://github.com/thommyho/gRPC_windows/releases/tag/v1.39.1) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.39.1) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
| [1.22.0](https://github.com/thommyho/gRPC_windows/releases/tag/v1.22.0) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.22.0) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
| [1.21.4](https://github.com/thommyho/gRPC_windows/releases/tag/v1.21.4) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.21.4) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
| [1.20.0](https://github.com/thommyho/gRPC_windows/releases/tag/v1.20.0) | [link](https://github.com/thommyho/gRPC_windows_prebuilt/tree/v1.20.0) | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | | | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: | :ballot_box_with_check: |
```console
.
+-- vs2022
| +-- 0_HelperScripts
| +-- 1_HelloWorld_Client
| +-- 1_HelloWorld_Server
| +-- 2_HelloWorld_Client_Callback
| +-- 2_HelloWorld_Server_Callback
| +-- 3_HelloWorld_Client_Async_1
| +-- 3_HelloWorld_Client_Async_2
| +-- 3_HelloWorld_Server_Async
| +-- 4_HelloWorld_Client_Compression
| +-- 4_HelloWorld_Server_Compression
| +-- 5_HelloWorld_Client_Load_Balancing
| +-- 5_HelloWorld_Server_Load_Balancing
| +-- 6_HelloWorld_Client_Meta
| +-- 6_HelloWorld_Server_Meta
| +-- 7_KeyValueStore_Client
| +-- 7_KeyValueStore_Server
| +-- 8_Route_Guide_Client
| +-- 8_Route_Guide_Server
| +-- 9_Route_Guide_Client_Callback
| +-- 9_Route_Guide_Server_Callback
| +-- protos
| +-- res
| +-- Examples_vs2022.sln
+-- vs2019
| +-- 0_HelperScripts
| +-- 1_HelloWorld_Client
| +-- 1_HelloWorld_Server
| +-- 2_HelloWorld_Client_Callback
| +-- 2_HelloWorld_Server_Callback
| +-- 3_HelloWorld_Client_Async_1
| +-- 3_HelloWorld_Client_Async_2
| +-- 3_HelloWorld_Server_Async
| +-- 4_HelloWorld_Client_Compression
| +-- 4_HelloWorld_Server_Compression
| +-- 5_HelloWorld_Client_Load_Balancing
| +-- 5_HelloWorld_Server_Load_Balancing
| +-- 6_HelloWorld_Client_Meta
| +-- 6_HelloWorld_Server_Meta
| +-- 7_KeyValueStore_Client
| +-- 7_KeyValueStore_Server
| +-- 8_Route_Guide_Client
| +-- 8_Route_Guide_Server
| +-- 9_Route_Guide_Client_Callback
| +-- 9_Route_Guide_Server_Callback
| +-- protos
| +-- res
| -> + Legacy Examples 2015 and 2017
# Extract the prebuilt bins and libs like this for your disired toolchain e.g.:
+-- MSVC143_64
| +-- Debug
| +-- bin
| +-- cmake
| +-- include
| +-- lib
| +-- share
| +-- Release
| +-- bin
| +-- cmake
| +-- include
| +-- lib
| +-- share
| +-- RelWithDebInfo
| +-- bin
| +-- cmake
| +-- include
| +-- lib
| +-- share
+-- MSVC143_32 ...
+-- MSVC142_64 ...
+-- MSVC142_32 ...
```

0 comments on commit 5a08976

Please sign in to comment.