ubuntu 安裝grpc


整體流程為:下載代碼 -> 編譯&安裝依賴庫 -> 編譯&安裝grpc -> 測試。

1. 安裝openssl

安裝
wget https://www.openssl.org/source/openssl-1.1.1b.tar.gz tar -xvf openssl-1.1.1b.tar.gz cd openssl-1.1.1b ./config --prefix=/usr/local --openssldir=/usr/local/openssl make && make install

驗證:
openssl version -a

2. 安裝cmake

安裝:
wget https://cmake.org/files/v3.17/cmake-3.17.2.tar.gz tar zxvf cmake-3.17.2.tar.gz cd cmake-3.17.2 ./configure sudo make && make install
驗證方式:
cmake --version

3. 下載grpc

sudo apt install -y build-essential autoconf libtool pkg-config
git clone https://github.com/grpc/grpc.git cd grpc git submodule update --init

4. 安裝absl依賴

sudo apt-get update && sudo apt-get install -y libssl-dev
cd third_party/abseil-cpp/cmake
mkdir build
sudo cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE ..
sudo make install

5. 安裝c-ares

cd third_party/cares/cares
mkdir build
cd build
sudo cmake -DCMAKE_BUILD_TYPE=Release ..
sudo make install

6. 安裝benchmark依賴

cmake -DCMAKE_BUILD_TYPE=Release ..

 如果發現找不到gtest庫,需要增加參數指定目錄: -DGOOGLETEST_PATH=~/grpc/third_party/googletest

7. 安裝protobuf

cd third_party/protobuf/
git submodule update --init --recursive
sudo ./autogen.sh
sudo ./configure
sudo make
sudo make install
sudo ldconfig
驗證方式: protoc --version

8. 安裝zlib

cdthird_party/zlib
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make install

9. 安裝grpc

cd ../..
sudo make
sudo make install

異常處理:
在sudo make install后出錯:Installing via 'make' is no longer supported. Use cmake or bazel instead.
sudo cmake -DCMAKE_BUILD_TYPE=Release \
-DgRPC_INSTALL=ON \
-DgRPC_BUILD_TESTS=OFF \
-DgRPC_CARES_PROVIDER=package \
-DgRPC_ABSL_PROVIDER=package \
-DgRPC_PROTOBUF_PROVIDER=package \
-DgRPC_SSL_PROVIDER=package \
-DgRPC_ZLIB_PROVIDER=package ..


 10. 測試

cd grpc/examples/cpp/helloworld
make
./greeter_server ./greeter_client

 

整個流程參考:https://blog.csdn.net/w13l14/article/details/117984322

參考:https://github.com/IvanSafonov/grpc-cmake-example


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM