protoc编译问题

本文讲述了在开发过程中遇到的protobuf.proto文件找不到和链接错误问题,涉及检查编译器版本、cmake配置以及头文件的处理,建议对protobuf项目管理有经验的开发者参考。
摘要由CSDN通过智能技术生成

1.

遇到如下问题:找不到.proto文件。

先查看是否安装编译器

查看这些缺少的文件,发现文件也都存在

在 Linux 系统上,Protocol Buffers 的 .proto 文件通常位于 /usr/include/google/protobuf/ 目录下

那么问题就出现在版本上,可以找到自己的编译器位置,使用指定版本的编译器,而不是依赖于系统默认或其他路径下的版本,要确保与项目中要求的版本匹配

第一次cmake使用下面这个命令(远程的话,要在本机远程终端登录),然后编译就可以。 cmake -D Protobuf_PROTOC_EXECUTABLE=/usr/local/bin/protoc ../ 再之后就可以使用cmake ../了


2. 链接错误

两个文件都包含了一个头文件,即使该头文件加了防止重复包含的宏定义,依然会出现连接错误。

原因是这个头文件里存在函数的定义,而不是声明。

解绝办法是在头文件的函数定义前加上inline ,或者是把函数的定义放在原文件中,头文件只声明


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值