如何用vcpkg和cmake安装后生成c++GRPC文件?

How to generate c++ grpc file after installing it by vcpkg and cmake?(如何用vcpkg和cmake安装后生成c++GRPC文件?)
本文介绍了如何用vcpkg和cmake安装后生成c++GRPC文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我通过vcpkg install grpc安装GRPC并将其添加到cmake文件。 现在我想生成GRPC c++文件,我运行:
protoc --cpp_out=grpc_file/ --grpc_out=grpc_file/  --proto_path=grpc_proto/  ./grpc_proto/side_information.proto

返回错误:

protoc-gen-grpc: program not found or is not executable
--grpc_out: protoc-gen-grpc: Plugin failed with status code 1.
要使用vcpkg安装的grpc_cpp_plugin,我应该怎么做? 我的工作区是:

.
├── CMakeLists.txt
├── Readme.md
├── build
├── build_envs.sh
├── grpc_file
├── grpc_proto
├── main.cpp
├── twitter.json
└── 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)。

这篇关于如何用vcpkg和cmake安装后生成c++GRPC文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

socks4 with asynchronous boost::asio(带有异步Boost::ASIO的socks4)
Boost ASIO HTTP client POST(增强ASIO HTTP客户端开机自检)
asio::strandlt;asio::io_context::executor_typegt; vs io_context::strand(Asio::strandlt;asio::io_context::executor_typegt;VS io_CONTEXT::Strand)
What#39;s the difference between asio::io_context and asio::thread_pool?(ASIO::IO_CONTEXT和ASIO::THREAD_POOL有什么区别?)
How to use boost::asio with Linux GPIOs(如何在Linux GPIO中使用Boost::ASIO)
Boost asio io_service vs io_context(增强ASIO io_服务与io_Context)