Protobuf C++ 编译

来源:互联网 发布:莱特币开发源码 编辑:程序博客网 时间:2024/05/26 15:58

  • protobuf 介绍
  • 需求
  • 编译过程
  • 使用流程
    • 项目配置
  • 注意事项

protobuf 介绍

Protocol Buffers (a.k.a., protobuf) are Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data.

翻译:

Protobuf 是Google开放的一个跨语言,跨平台,可扩展的序列化结构数据.

结论:

跨语言: 可以在多个语言(c++, java, Python 下使用)
跨平台: 可以在Window/ Linux 下使用
序列化: 可将对象数据存储起来,长久使用.
结构化数据: 应该不可以用于文本等非结构化数据

需求

  1. Protobuf源代码: https://github.com/google/protobuf/branches/active
  2. CMake
  3. VS2012

编译过程

  1. 使用Cmake 执行源代码下Cmakelist, 生成VS2012工程 (注意自己选择的X86还是X64的)
  2. 打开工程文件 (注意生成的是release 还是Debug )
    1. 如果 All_build失败,则单独编译需要的库
    2. 编译libprotobuf -> 生成 libprotobuf.lib
    3. 编译libprotobuf-lite -> 生成 libprotobuf-lite.lib
    4. 编译libprotoc -> 生成 libprotoc.lib
    5. 编译protoc -> 生成 protoc.exe

使用流程

项目配置

  1. 项目->属性->C++->常规->附加包->添加Protobuf源代码中的src 文件夹
  2. 项目->属性->C++->代码生成 -> 运行库 -> 多线程(MT) 这个很重要
  3. 项目->属性->链接器->附加库目录 -> 生成的三个Lib文件的文件夹

注意事项

  1. CMake的32和64 要和你使用Protobuf工程的一致
  2. 编译的release / debug 也要和你工程中的一致.
0 0
原创粉丝点击