ProtobufのgRPCプラグインをコンパイルする(Windows 7)
ぶっちゃけgRPCもProtocol BufferもVisual Studioもよくわかっていませんが、 とりあえずコード生成できたので。
以下ではPHPを例にとりますが、この記事の最後には、その他の言語のプラグインもコンパイルします。
クライアントコードの生成のために
https://grpc.io/docs/tutorials/basic/php.html#generating-client-code
上記のように、
make grpc_php_plugin
とやれば終わりです。
Windowsユーザーは茨の道です。(いうほど茨ではないかもしれない)
Windows 10が使えるならUbuntu使えば適当にできるんじゃない?(はなほじ)
Visual Studioをインストール
Visual Studio Community - Visual Studio
ぶっちゃけ最新のVSならコンパイルできるやろ~という、甘い目論見でインストールします。
インストールするときに、
変更 -> 個別のコンポーネント -> コンパイラ、ビルドツール、およびランタイム -> Windows Universal CRT SDK
にチェックをいれます。
すでに入っている場合は、もう一度インストーラを起動すれば同じ画面がでます。
CMakeをインストール
落としてきてインストールして、bin
ディレクトリにパスを通してください。
gRPCのソースを落とす
git clone --recursive https://github.com/grpc/grpc
libprotobuf.lib, libprotoc.libをコンパイルする
cd grpc\third_party\protobuf\cmake cmake -Dprotobuf_BUILD_TESTS=OFF .
を実行し、生成されたファイル(更新日時で判別した)を
grpc\third_party\protobuf\cmake\build\solution
下に移動します。
protobuf.sln
を実行します。
画面上のDebug
とあるプルダウンをRelease
にします。
画面上のWin32
とあるプルダウンを開き、構成マネージャー
を選択。
ビルド
カラムのチェックの、js_embed
, libprotobuf
, libprotoc
にチェックをつけます。
メニューバーのビルド(B)
から、ソリューションのビルド
を実行します。
grpc\third_party\protobuf\cmake
にバイナリが生成されるので、これらを、
grpc\third_party\protobuf\cmake\build\solution\Release
下にコピーします。
grpc_***_plugin をコンパイル
grpc\vsprojects\grpc_protoc_plugins.sln
を実行します。
画面上のDebug
とあるプルダウンをRelease
にします。
メニューバーのビルド(B)
から、ソリューションのビルド
を実行します。
grpc\vsprojects\Release
を見ると……
できた!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!11!!!1!!!1!