在Windows和Linux上编译gRPC源码操作步骤(C++)

gRPC最新发布版本为v1.23.0,下面以此版本为例说明在Windows和Linux下编译过程。

Windows7/10 vs2103编译gRPC源码操作步骤

1. 需要本机已安装Git、CMake、Perl、Go、yasm;

2. 依次执行如下命令:

git clone https://github.com/grpc/grpc
git checkout v1.23.x
git submodule update --init
mkdir -p .build
cd .build
cmake .. -G "Visual Studio 12 2013 Win64" # 生成grpc.sln工程
cmake --build . --config Release # cmake --build . --config Debug

         3. 执行完以上命令后会在.build目录下生成grpc.sln工程,但是在build时会出现很多错误,原因是source中使用了一些在vs2013中还没有支持的C++11特性,如constexpr等,如下图所示:

因此想要编译gRPC在windows下需要使用vs2015及以上版本才可以,使用其它vs版本编译gRPC时,步骤与上面相同,只需将

cmake .. -G "Visual Studio 12 2013 Win64"

调整为以下语句之一就可以,下面是使用vs2017编译生成的结果,如下图:

cmake .. -G "Visual Studio 14 2015 Win64" # vs2015
cmake .. -G "Visual Studio 15 2017 Win64" # vs2017

Linux gcc4.9.4编译gRPC源码操作步骤

1. 根据本机情况安装相应依赖性:

sudo apt-get install build-essential autoconf libtool pkg-config
sudo apt-get install libgflags-dev libgtest-dev
sudo apt-get install clang-5.0 libc++-dev

2. 依次执行如下命令:

git clone https://github.com/grpc/grpc
git checkout v1.23.x
git submodule update --init
mkdir -p .build
make
make install prefix=./.build

3. 执行完以上命令后在主目录的.build目录下的内容和执行生成的protoc结果如下:

GitHubhttps://github.com/fengbingchun/OpenSSL_Test

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
是的,编译 gRPC 需要使用 C++ 和 NDK。以下是在 Android 上编译 gRPC 的步骤: 1. 下载 gRPC 的源代码,并解压缩到一个合适的目录下。 2. 下载 NDK,并解压缩到一个合适的目录下。 3. 在 gRPC 源代码目录中,创建一个名为 `CMakeLists.txt` 的文件,内容如下: ``` cmake_minimum_required(VERSION 3.10) project(grpc) set(CMAKE_CXX_STANDARD 11) include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) add_library(grpc STATIC ${CMAKE_CURRENT_SOURCE_DIR}/src/cpp/client.cc ${CMAKE_CURRENT_SOURCE_DIR}/src/cpp/server.cc) target_link_libraries(grpc protobuf) ``` 4. 在 gRPC 源代码目录中,创建一个名为 `build.sh` 的脚本文件,内容如下: ``` #!/bin/bash export ANDROID_NDK=/path/to/ndk export PATH=$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH mkdir -p build_android cd build_android cmake .. \ -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \ -DANDROID_ABI=arm64-v8a \ -DANDROID_PLATFORM=android-21 \ -DANDROID_STL=c++_static \ -DANDROID_CPP_FEATURES=rtti\ exceptions \ -DCMAKE_BUILD_TYPE=Release make ``` 将 `/path/to/ndk` 替换为你的 NDK 路径。 5. 运行 `build.sh` 脚本文件,等待编译完成。 6. 编译完成后,在 `build_android` 目录中会生成 `libgrpc.a` 静态库文件,你可以将它们链接到你的 Android 应用中使用。 注意:在使用 gRPC 时,你还需要在 Android 应用中使用 Protocol Buffers,因为 gRPC 使用 Protocol Buffers 进行序列化和反序列化。你可以按照前面提到的步骤,在 Android 上编译 Protocol Buffers。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值