CMake安装grpc生成gRPCTargets.cmake文件
程序员文章站
2022-07-05 15:28:33
以下是安装语句: 然而编写依赖 的程序,发现无法调用 的`CMake`文件,错误提示如下所示: 在 的`issue CMake`安装时,如果第三方依赖在未指明的情况下,默认均通过 源码安装 ,如果无法通过 源码安装 ,则无法生成 gRPCTargets.cmake 文件): 因此需要指定第三方依赖是 ......
以下是安装语句:
cd grpc_folder git submodule update --init cmake .. make -j 4 sudo make install
然而编写依赖grpc
的程序,发现无法调用grpc
的cmake
文件,错误提示如下所示:
include could not find load file: /usr/local/lib/cmake/grpc/grpctargets.cmake
在grpc
的issue
列表中,寻找到解决方案(cmake
安装时,如果第三方依赖在未指明的情况下,默认均通过源码安装,如果无法通过源码安装,则无法生成grpctargets.cmake文件):
因此需要指定第三方依赖是通过源码安装,还是已经通过包管理器安装完毕.
因为已经安装了zlib
,protobuf
以及cares
,因此修改cmake ..
为:
cmake -dgrpc_install=on -dgrpc_zlib_provider=package -dgrpc_cares_provider=package -dgrpc_protobuf_provider=package -dgrpc_ssl_provider=package ..
依赖grpc
的工程可以使用如下语句添加grpc
依赖:
if (with_grpc) find_package(grpc config) # first attempt to set up grpc via cmake; but if cmake config files aren't # available, fallback to pkg-config. if (grpc_found) set(grpc_cpp_plugin $<target_file:grpc::grpc_cpp_plugin>) list(append lightstep_link_libraries grpc::grpc++) include_directories(system $<target_property:grpc::grpc++,interface_include_directories>) else() message("falling back to finding grpc with pkg-config") find_program(grpc_cpp_plugin grpc_cpp_plugin) if (not grpc_cpp_plugin) message(fatal_error "grpc_cpp_plugin not found!") endif() find_package(pkgconfig required) pkg_search_module(grpc required grpc) pkg_search_module(grpcpp required grpc++) list(append lightstep_link_libraries ${grpcpp_ldflags} ${grpc_ldflags}) include_directories(system ${grpc_include_dirs} ${grpcpp_include_dirs}) endif() endif()
ps:
如果您觉得我的文章对您有帮助,可以扫码领取下红包,谢谢!
推荐阅读
-
Python使用cx_Freeze库生成msi格式安装文件的方法
-
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
-
Python依赖文件requirements.txt的生成和安装
-
CMake安装grpc生成gRPCTargets.cmake文件
-
VS2019打包生成安装文件图文详细教程 原创
-
VS2022实现VC++打包生成安装文件图文详细历程
-
php7 安装扩展 phpize 没有生成configure文件
-
Python使用cx_Freeze库生成msi格式安装文件的方法
-
将python程序打包成.exe可执行文件,生成安装包
-
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法