protobuffer 编译提示定义的Message未定义

风拔萝卜 2016-12-24 09:57:00
运行环境:Ubuntu16.04+gcc5

使用protobufer
我定义了一个名为Order的Message,定义如下:

package tutorial;

message Order
{
required int32 time = 1;
required int32 userid = 2;
required float price = 3;
optional string desc = 4;
}

然后编译生成了lm.order.pb.h 和lm.order.pb.cc文件,接着我在同级目录下建立了一个t.cpp,内容如下:

#include<iostream>
#include"lm.order.pb.h"

using namespace std;

int main()
{
tutorial::Order oe;
return 0;
}

然后使用 g++编译器进行编译提示如下错误:
t.cpp:(.text+0x34):对‘tutorial::Order::Order()’未定义的引用
t.cpp:(.text+0x45):对‘tutorial::Order::~Order()’未定义的引用
collect2: error: ld returned 1 exit status
但是构造函数和析构函数都是public的,不知道问题出在那。哪位能指点一下,谢谢

...全文
344 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
YsL9735 2021-06-25
  • 打赏
  • 举报
回复

库没引用好

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧