はじめに
最終目標
NestJSプログラムとC++プログラムにそれぞれgRPCモジュールを実装して相互通信させることを最終目標とし、目標達成に至るまでのプロセスを段階的に記します。
C++側は公式サンプルにあるCMakeによるコンパイルではなく、Makefileでコンパイルできるようにします。
今回の目標
こちらを参考にC++環境へのgRPCとProtocol Buffersのインストールまでを行います。
環境
NestJSプログラム、C++プログラム共に同一のAlmaLinux8.8上で動作するものとします。
C++環境にgRPCインストール
CMakeのインストール
root権限で実行。
# dnf install -y cmake
バージョンの確認。
$ cmake --version
cmake version 3.26.5
grpcリポジトリのクローン
gitから最新のgrpcリポジトリをクローン
$ git clone --recurse-submodules -b v1.64.0 --depth 1 --shallow-submodules https://github.com/grpc/grpc
環境変数の設定
$ export MY_INSTALL_DIR=$HOME/.local
$ mkdir -p $MY_INSTALL_DIR
$ export PATH="$MY_INSTALL_DIR/bin:$PATH"
gRPCとProtocol Buffersをインストール
$ cd grpc
$ mkdir -p cmake/build
$ pushd cmake/build
$ cmake -DgRPC_INSTAL=ON \
> -DgRPC_BUILD_TESTS=OFF \
> -DCMAKE_INSTALL_PREFIX=$MY_INSTALL_DIR \
> ../..
$ make -j 4
$ make install
$ popd
これでC++環境へのgRPCのセットアップは完了です。
次回はProtocol BuffersでC++側のAPIの定義とコンパイルを行います。
関連記事