首页 > 其他分享 >cmake中使用proto

cmake中使用proto

时间:2024-04-27 21:33:19浏览次数:19  
标签:Protocol Protobuf proto package CMake 使用 cmake find Buffers

转自:chatgpt

1.介绍

find_package(Protobuf) 是 CMake 中用于查找和加载 Protocol Buffers 的模块。它的作用是在 CMake 配置过程中查找安装在系统中的 Protocol Buffers 库,并将相关信息存储在 CMake 变量中,以供后续的构建过程使用。

使用 find_package(Protobuf) 通常包括以下几个步骤:

  1. 查找 Protocol Buffers 库: find_package(Protobuf) 命令会在系统中查找已安装的 Protocol Buffers 库。它会搜索默认的安装路径,如果找到,则会将相关信息存储在 CMake 变量中。

  2. 加载相关信息: 当 find_package(Protobuf) 找到 Protocol Buffers 库后,它会将一些相关的信息加载到 CMake 中,包括 Protocol Buffers 的版本、头文件路径、库文件路径等。

  3. 设置相关变量: find_package(Protobuf) 执行完成后,会将 Protocol Buffers 的路径信息存储在一些预定义的 CMake 变量中,比如 ${PROTOBUF_INCLUDE_DIR}${PROTOBUF_LIBRARY}

  4. 使用找到的信息: 在找到 Protocol Buffers 后,你可以在 CMakeLists.txt 文件中使用这些变量来配置项目,比如添加头文件路径、链接 Protocol Buffers 库等。

find_package(Protobuf REQUIRED)

include_directories(${PROTOBUF_INCLUDE_DIR})

add_executable(my_program main.cpp)

target_link_libraries(my_program ${PROTOBUF_LIBRARY})

 

标签:Protocol,Protobuf,proto,package,CMake,使用,cmake,find,Buffers
From: https://www.cnblogs.com/BlueBlueSea/p/18162587

相关文章

  • middleware的注册和使用 asp.net
    middleware的编写和注册编写中间件类(middleware-class)通常,中间件封装在类中,并且通过扩展方法公开。具有类型为RequestDelegate的参数的公共构造函数。publicLoggingMiddleware(RequestDelegatenext){_next=next;}名为Invoke或InvokeAsync的公共方法......
  • 【mysql】mysql安装使用教程
    参考说明:更改时区部分,摘自:2024年MySQL8.0安装配置教程最简易(保姆级)_mysql安装-CSDN博客一、下载安装包1、进入官网,下载mysql社区版安装包MySQL::下载MySQL安装程序 二、安装1、安装包下载完成后,双击安装包,进入安装指引2、安装指引中,选择自定义安装Custom,并点击......
  • 实验19-使用keras完成语音识别
    版本python3.7tensorflow版本为tensorflow-gpu版本2.6运行结果:  注意:在运行wavs_to_model.py时候需要切换版本:python3.6tensorflow1.14结果: ......
  • vue了解与初步接触/使用
    Vue使用1、vue的启动1、Vue的操作命令启动.Vue去你对应的包里直接yarnserve2、首先先需要检测自己是否安装了yarn命令yarn命令和npm的区别1、yarn是从国内下载npm是从国外下载所以yarn速度效率比较高,npm速度效率比较低2、yarn-v--可以检测到是否有yarn命......
  • Spring(4)-AOP使用细节
    有了Spring(3)-AOP快速入手-marigo-博客园的学习,大体知道AOP的使用,接下来我们对AOP的细节进行展开。AOP-切入表达式作用:通过表达式定位一个或者多个连接点连接点可以理解成我们要切入到哪个类的哪个具体方法语法:execution([权限修饰符][返回值类型][简单类名/全类名][......
  • 在mobaxten上使用scala报错
    查看报错信息[ERROR]Failedtoconstructterminal;fallingbacktounsupportedjava.io.IOException:Cannotrunprogram"sh":CreateProcesserror=2,系统找不到指定的文件。点击查看代码27/04/202418:52.17/home/mobaxtermscalaWelcometoSc......
  • Fastbin attack&&Double free和Unsortbin leak的综合使用
    Fastbinattack&&Doublefree和Unsortbinleak的综合使用✅今天做一个综合题目,包括利用Fastbinattack实现多指针指向一个地址,以及利用Unsortbinleak泄露libc基地址和修改__malloc_hook地址为one_gadget题目是buuctf上面的一道题目,题目链接https://buuoj.cn/challenges#babyhe......
  • 使用FFmpeg将视频的分辨率从1080p转换为2160p
    1.要使用FFmpeg将视频的分辨率从1080p转换为2160p(也称为4K),可以使用以下命令行代码:ffmpeg-iinput.mp4-s3840x2160-c:vlibx264-presetslow-crf20output.mp4这里的参数解释如下:-iinput.mp4:指定输入文件。-s3840x2160:设置输出视频的分辨率为3840像素宽和2160像素高......
  • 使用 @NoRepositoryBean 简化数据库访问
    在SpringDataJPA应用程序中管理跨多个存储库接口的数据库访问逻辑可能会变得乏味且容易出错。开发人员经常发现自己为常见查询和方法重复代码,从而导致维护挑战和代码冗余。幸运的是,SpringDataJPA为这个问题提供了一个强大的解决方案:@NoRepositoryBean 注解。在本文中,我们......
  • python库使用总结
    python库的使用1:print(补充)2:math2.1:math库包括的4个数学常数2.2math库中的函数幂对数函数三角曲线函数3:字符串处理函数补充:sorted(str)对字符串中的元素进行排序,返回排序后的列表,而不是字符串​ reversed(str)对字符串中的元素反向输出3.1字符串......