Windows+clion+protobuf+cmake实现protobuf的使用(被折磨了两天半)

针对protobuf源码和protoc的编译有很多博客写了,这里就不说了。但是很少看到在clion上配置的,因为这个要写cmake文件,本人是小白,学习了cmake之后才懂怎么搞。出现众多链接错误,这次展示一下有效的配置文件。(protobuf 3.21.6,当前最高版本是26.1我也不知道这个版本是怎么算的,总之3.21.6应该也不算太早吧)

目录结构

在这里插入图片描述

  • lib: protobuf编译之后的静态链接文件和动态链接文件
  • include: 包含了google文件夹,也就是源码src目录下的google文件夹
  • bin:指定了输出可执行文件的路径

CMakelists.txt文件内容

在这里插入图片描述

  • set命令:设置变量,前为变量名,后为变量值
  • EXECUTABLE_OUTPUT_PATH:为环境变量,默认为当前文件夹,我这个修改为bin目录了
  • include_directories:指示了头文件的位置,这里要指向include,也就是google的上一级目录。第二个include是指定当前文件夹中的.h文件,也就是通过protoc生成的.pb.h文件
  • link_directories:指定动态链接的目录为lib
  • add_exectuable:将.cpp文件和.pb.c文件输出为可执行文件
  • target_link_libraries:将动态链接库libprotobufd连接到可执行文件中

修改.pb.h文件

这个地方搞了好久不知道怎么弄,看到一个大神的文章,但忘记存了。如果不加这个会报链接错误,也就是找不到对应的变量或函数符号。

// addressbook.pb.h文件(我的addressbook.proto生成的文件)

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: addressbook.proto

#define PROTOBUF_USE_DLLS  // 加上这句话就行了

编译官网示例

Usage:  G:\C++项目\test0\bin\test0.exe ADDRESS_BOOK_FILE

在命令行,给出对应个数的参数就行了。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想考北航的小刺猬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值