一百昏的小白 2021-06-21 13:37 采纳率: 14.3%
浏览 792

protobuf 编译生成pb.cc和pb.h后,pb.h报错

proto文件: 

syntax = "proto3";

 package Im;
 message Content
 {
         int32  id = 1;
         string str = 2;
         optional int32  opt = 3;
 }

编译语句: 

protoc ./Mymessage.proto --cpp_out=./test
  • 写回答

3条回答 默认 最新

  • 七凌、 2024-02-06 15:33
    关注

    你不用管它,直接编译看能不能通过,能通过就说明没有问题。

    不能通过的话,在.h 文件的 文件包含(include) 后面加上这个:

    #define PROTOBUF_NAMESPACE_OPEN \
      namespace google              \
      {                             \
        namespace protobuf          \
        {
    #define PROTOBUF_NAMESPACE_CLOSE \
      }                              \
      }
    #define PROTOBUF_NAMESPACE_ID google::protobuf
    #define PROTOBUF_CONSTEXPR
    #define PROTOBUF_ATTRIBUTE_REINITIALIZES
    #define PROTOBUF_NODISCARD [[nodiscard]]
    #define PROTOBUF_ALWAYS_INLINE
    using namespace google;
    
    
    评论 编辑记录

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据