我正在尝试将grpc集成到C ++项目中。但是我发现唯一的方法是下载所有源代码并自行编译。
有什么方法可以获取预编译的.so / .a文件(可以链接到该文件)和grpc_cpp_plugin(适用于Linux)吗?
或者c ++不可能这样做,为什么?
答案 0 :(得分:1)
如果您正在寻找预编译的gRPC库,则应使用vcpkg。 我还试图交叉编译gRPC,而不构建库本身。使用vcpkg,我取得了很好的成绩。 只需执行几步即可设置:
这是我的CMakeLists.txt:
cmake_minimum_required(VERSION 3.1)
if(DEFINED ENV{VCPKG_ROOT})
set(CMAKE_TOOLCHAIN_FILE $ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake)
else()
set(CMAKE_TOOLCHAIN_FILE "/path_to_vcpkg/scripts/buildsystems/vcpkg.cmake")
endif()
project(Foo)
find_package(gRPC CONFIG REQUIRED)
...
add_executable(${PROJECT_NAME} ${Bar})
target_link_libraries(${PROJECT_NAME} PRIVATE gRPC::gpr gRPC::grpc gRPC::grpc++ gRPC::grpc_cronet)
在文件夹 path_to_vcpkg / packages / grpc_x64-PLATFORM / tools / grpc 中,您会找到适用于您平台的所有预编译grpc插件(也 grpc_cpp_plugin )。
>优点:
缺点:
答案 1 :(得分:0)
有什么方法可以获取预编译的.so / .a文件(可以链接到该文件)和grpc_cpp_plugin(适用于Linux)吗?
要回答此问题,gRPC C ++插件当前需要手动构建和安装,如下所示:https://grpc.io/blog/installation/
这意味着当前没有预编译的gRPC C ++插件。