vs2013编译google protobuf生成的消息文件错误。
来源:互联网 发布:java jenkins 编辑:程序博客网 时间:2024/06/05 17:17
用google protobuf 生成的.h 和.cpp放到工程目录下,并添加好头文件目录和lib目录,在main.cpp里面添加
#pragma comment(lib,"libprotobuf.lib")//链接库文件
#pragma comment(lib,"libprotoc.lib")//链接库文件
之后,会发现编译不过,具体就是
d:\program files (x86)\microsoft visual studio 12.0\vc\include\xutility(2132): error C4996: 'std::_Copy_impl': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
然后从网上找到解决方案在消息头文件中添加
#ifndef _ITERATOR_DEBUG_LEVEL
#define _ITERATOR_DEBUG_LEVEL 0
#else
#undef _ITERATOR_DEBUG_LEVEL
#define _ITERATOR_DEBUG_LEVEL 0
#endif
后来发现还是有问题。
libprotobuf.lib(common.obj) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in addressbook.pb.obj
lib里面的obj的_ITERATOR_DEBUG_LEVEL 和消息obj的_ITERATOR_DEBUG_LEVEL 不一样,决定修改lib里面的obj的_ITERATOR_DEBUG_LEVEL值。
打开lib的工程,在 libprotobuf.lib 添加
Project Pages / Configuration Properties / C,C++ / Preprocessor / Preprocessor Definitions.
方可编译通过。
_ITERATOR_DEBUG_LEVEL
编译模式
新的宏
旧宏
描述
调试
IDL=0
SCL=0,HID=0
禁用检查的迭代器和禁用迭代器调试。
IDL=1
SCL=1,HID=0
启用检查的迭代器和禁用迭代器调试。
IDL=2 (默认值)
SCL= (不适用),HID=1
默认情况下,启用迭代器调试;经过检查的迭代器无关。
Release
IDL=0 (默认值)
SCL=0
默认情况下,禁用检查的迭代器。
IDL=1
SCL=1
启用检查的迭代器;迭代器调试无关。
- vs2013编译google protobuf生成的消息文件错误。
- protobuf+vs2013编译安装
- vs2013编译protobuf(Goole Protocol Buffers)源码错误解决方案
- VS2013+protobuf-2.5.0 编译源码,嵌入新工程,使用google protobuf数据格式协议
- 【protobuf 002】 protobuf+vs2013编译安装
- protobuf 生成对应的文件
- 交叉编译 google protobuf
- 交叉编译 google protobuf
- 交叉编译 google protobuf
- ubuntu编译google protobuf
- 编译生成protobuf的jar包
- [ProtoBuf]ProtoBuf命令生成的Cpp文件分析
- [netty]-消息编解码之google的Protobuf编解码
- Mac 环境下编译Protobuf 生成多种语言文件
- google/protobuf--VS2015编译、使用
- protobuf + vs2013 下载.安装与编译!
- Google Protobuf的安装、配置、以及简单demo编译
- 编译ENB时Installing Google Protobuf 失败的问题
- 根据传智播客ibatis视频教程编写的入门例子
- 电脑发明
- 推荐几本学习java的书
- jQuery ajax和更换元素class
- ie下使用ajax缓存问题
- vs2013编译google protobuf生成的消息文件错误。
- tomcat 集群配置(动态加载配置信息)
- 深度学习(Deep Learning)综述
- java 观察者模式
- 现代计算机阶段
- 网站关键词怎么确定才有利于优化
- java泛型
- 数据库性能优化——正确建立索引以及最左前缀原则
- UVA 102 - Ecological Bin Packing(暴力)