CMakeList中自动编译protobuf文件过程

 更新时间:2022年12月16日 15:51:49   作者:ztenv  
这篇文章主要介绍了CMakeList中自动编译protobuf文件过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

CMakeList中自动编译protobuf文件

可以使用下面的命令:

protobuf_generate_cpp
protobuf_generate_python

例如:

find_package(Protobuf REQUIRED)
include_directories(${Protobuf_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS foo.proto)
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS EXPORT_MACRO DLL_EXPORT foo.proto)
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS DESCRIPTORS PROTO_DESCS foo.proto)
protobuf_generate_python(PROTO_PY foo.proto)
add_executable(bar bar.cc ${PROTO_SRCS} ${PROTO_HDRS})
target_link_libraries(bar ${Protobuf_LIBRARIES})
``

CMakelists设置不同版本的protobuf 指定路径寻找

find_package(protobuf REQUIRED HINTS "path")

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Lua和C/C++互相调用实例分析

    Lua和C/C++互相调用实例分析

    今天小编就为大家分享一篇关于Lua和C/C++互相调用实例分析,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • 带你了解C++this指针的用法及其深究

    带你了解C++this指针的用法及其深究

    这篇文章主要介绍了C++中this指针的用法,对初学者而言是非常重要的概念,必须加以熟练掌握,需要的朋友可以参考下,希望能给你带来帮助
    2021-08-08
  • Qt增加版本公司等信息两种方式

    Qt增加版本公司等信息两种方式

    在项目中生成exe或者动态库过程中可能需要加入公司信息、版本号、说明等等,下面这篇文章主要给大家介绍了关于Qt增加版本公司等信息的两种方式,需要的朋友可以参考下
    2024-01-01
  • C++ virtual destructor虚拟析构函数

    C++ virtual destructor虚拟析构函数

    C++中基类采用virtual虚析构函数是为了防止内存泄漏。具体地说,如果派生类中申请了内存空间,并在其析构函数中对这些内存空间进行释放,今天通过本文给大家介绍C++ virtual destructor虚拟析构函数的相关知识,感兴趣的朋友一起看看吧
    2021-05-05
  • 如何运用Capstone实现64位进程钩子扫描

    如何运用Capstone实现64位进程钩子扫描

    本章将通过Capstone引擎实现64位进程钩子的扫描,读者可使用此段代码检测目标进程内是否被挂了钩子,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • C++面向行输入之get()与getline()实例详解

    C++面向行输入之get()与getline()实例详解

    在c++里当我们输入一个字符串时习惯用cin,但是cin只能读取一段不含空格的字符串,如果我们需要读取一段包含空格的字符串时,就需要用到getline()或get(),下面这篇文章主要给大家介绍了关于C++面向行输入之get()与getline()的相关资料,需要的朋友可以参考下
    2021-10-10
  • C语言实现直方图均衡化

    C语言实现直方图均衡化

    这篇文章主要为大家详细介绍了C语言实现直方图均衡化,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • C语言中输入输出流与缓冲区的深入讲解

    C语言中输入输出流与缓冲区的深入讲解

    一般情况下,由键盘输入的字符并没有直接送入程序,而是被存储在一个缓冲区当中。下面这篇文章主要给大家介绍了关于C语言中输入输出流与缓冲区的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2018-09-09
  • QT自定义QTextEdit实现大数据的实时刷新显示功能实例

    QT自定义QTextEdit实现大数据的实时刷新显示功能实例

    TextEdit是我们常用的Qt控件,用来显示文本信息,下面这篇文章主要给大家介绍了关于QT自定义QTextEdit实现大数据的实时刷新显示功能的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-05-05
  • C++判断矩形相交的方法

    C++判断矩形相交的方法

    这篇文章主要介绍了C++判断矩形相交的方法,涉及C++针对平面坐标数学运算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07

最新评论