error LNK2019,error LNK2001:无法解析的外部符号

环境:win7 ,vs2010

目的:安装protobuf

问题:

    test.pb.obj : error LNK2019: 无法解析的外部符号 "public: virtual __thiscall google::protobuf::MessageLite::~MessageLite(void)" (??1MessageLite@protobuf@google@@UAE@XZ),该符号在函数 __unwindfunclet$??0People@protoc@@QAE@XZ$0 中被引用
1>test.pb.obj : error LNK2001: 无法解析的外部符号 "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall google::protobuf::MessageLite::InitializationErrorString(void)const " (?InitializationErrorString@MessageLite@protobuf@google@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)

 

分析原因:

     lib 库没有加载,或者路径不对

解决办法:

1.用代码 :#pragma comment(lib,"libprotobuf.lib") 

                #pragma comment(lib,"libprotoc.lib")

2.右键->属性->连接器->输入->附加依赖项  添加libprotobuf.lib,libprotoc.lib

俩种方法都是一样的,都是在工程里面添加静态库。 

扩展:

#pragma是一个很常用的关键字。

#pragma pack(n) 以n个字节对齐(struct 存在对齐补齐)。最常用的场合应该是网络处理。n 大于结构体补齐的字节时候,按照结构体补齐的字节对齐,反之则按照n字节对齐。

#pragma pop 取消n字节对齐。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值