当前位置: 首页 > news >正文

网站建设指导方案/宁波免费建站seo排名

网站建设指导方案,宁波免费建站seo排名,网站优化排名教程,徐州网站建设protobuf的是google的一个强大的网络传输协议。 下面一个简单的安装使用。 1:下载: protobuf-2.5.0.tar.gz protobuf-2.5.0-win.zip protobuf-2.5.0,是protobuf的源文件,protobuf-2.5.0-win.zip里面是一个protoc.exe应用文件,…

protobuf的是google的一个强大的网络传输协议。

下面一个简单的安装使用。

1:下载:

protobuf-2.5.0.tar.gz

protobuf-2.5.0-win.zip


protobuf-2.5.0,是protobuf的源文件,protobuf-2.5.0-win.zip里面是一个protoc.exe应用文件,用于给传输类编译成h和cc文件。

如解压protobuf-2.5.0-win.zip的目录:

2:添加编译环境变量,用于编译成头文件和CC文件。

【我的电脑】->【属性】->【高级系统设置】->【环境变量】->【系统变量】->【新建】变量名:PROTOBUF_HOME 变量值:E:\work_uu\protobuf\protoc-2.5.0-win32(上面protobuf-2.5.0-win.zip的解压目录)


在系统变量中找到Path的选项:在其中添加   ;%PROTOBUF_HOME%; 注意前后都有分号(;)

测试:打开cmd,输入protoc -h 正确有相应的提示,表示成功


3:编译

(1):打开protobuf-2.5.0的解压文件的vsprojects中工程文件protobuf.sln

编译:libprotobuf 有错误:

1>..\src\google\protobuf\io\zero_copy_stream_impl_lite.cc(121): error C3861: “min”:  找不到标识符
1>..\src\google\protobuf\io\zero_copy_stream_impl_lite.cc(168): error C3861: “max”:  找不到标识符
1>..\src\google\protobuf\io\zero_copy_stream_impl_lite.cc(195): error C3861: “min”:  找不到标识符

则在文件中添加:

#include <algorithm>头文件


(2):修改vs2013的编译强制copy检查,若不修改,编译对象文件的时候,会报_Copy_Imp的错误

修改libprotobuf工程下的repeated_field.h文件。

修改如下:

namespace internal {
template <typename Element, bool HasTrivialCopy>
void ElementCopier<Element, HasTrivialCopy>::operator()(
    Element to[], const Element from[], int array_size) {
std::copy(from, from + array_size, stdext::checked_array_iterator<Element*>(to, array_size));
  //std::copy(from, from + array_size, to);
}


最后一个一个编译工程,生成libprotobuf.lib,libprotobuf-lite.lib,libprotoc.lib,lite-test.exe,protoc.exe,test_plugin.exe,tests.exe


注意:编译的debug版本的lib,要对应工程的bebug版,要是工程师release,最好对已release版本的lib


4.添加测试工程文件:


新建控制台文件testprotobuf.sln工程



新建protobuf_lib文件夹,把上面编译的lib文件copy到这个文件下。

新建protobuf_src文件夹,把protobuf-2.5.0的源文件下的src文件夹下的所有文件copy到此文件夹下。


新建Person.proto文件,

内容如下:

package Test;
message Person 
{required string name = 1;required int32 id = 2;optional string email = 3;
}

打开cmd

输入命令:

protoc -I=E:\work\testProtobuf --cpp_out=E:\work\testProtobuf E:\work\testProtobuf\Person.proto

把相应的目录换成.proto文件所在的目录即可

完成后会生成两个文件:

Person.pb.h

Person.pb.cc


然后添加到工程中。


5.添加源文件的头文件。



添加lib,【属性】-【链接器】-【输入】-【附加依赖项】把上面的三个lib添加进来

在包含lib所在的库文件:【属性】-【链接器】-【常规】-【附加库本目录】:$(SolutionDir)\protobuf_lib


添加测试源码:

#include "stdafx.h"
#include "..\Person.pb.h"
#include <iostream>
#include <fstream>int _tmain(int argc, _TCHAR* argv[])
{GOOGLE_PROTOBUF_VERIFY_VERSION;Test::Person person;person.set_id(123);person.set_name("abc");person.set_email("abc@163.com");std::cout << "Before:" << std::endl;std::cout << "ID:" << person.id() << std::endl;std::cout << "name:" << person.name() << std::endl;std::cout << "email:" << person.email() << std::endl;std::string str;person.SerializeToString(&str);Test::Person person2;person2.ParseFromString(str);std::cout << "After:" << std::endl;std::cout << "ID:" << person2.id() << std::endl;std::cout << "Name:" << person2.name() << std::endl;std::cout << "Email:" << person2.email() << std::endl;system("pause");return 0;
}

结果如下:





http://www.jmfq.cn/news/4789297.html

相关文章:

  • 直播电商平台开发/搜索引擎优化包括哪些
  • 手机网站建设公/百度搜索指数和资讯指数
  • 宁至网站建设/优化营商环境条例全文
  • 清远网站建设/百度上做优化一年多少钱
  • 已有备 网站新增网站/适合30岁女人的培训班
  • 金华seo扣费/游戏优化大师手机版
  • 牛商网做网站/微信广告投放推广平台
  • 网站建设教程百度云/短链接生成网址
  • 在百度上做公司网站得多少钱/网络营销seo培训
  • 国外简约网站/企业网站的网络营销功能
  • 秦州区住房和城乡建设局网站/seo整站优化解决方案
  • 英文网站建设官网/公司网站设计制作
  • 3d建模在线制作网站/百度推广员工工资怎么样
  • 做网站编辑器/软文发布软件
  • 党政机关网站建设/一站式网络营销
  • 谁做的四虎网站是多少/适合成人参加的培训班
  • thinkphp网站优化/seo关键词布局
  • wordpress密码忘了/seo教程网站
  • 公司网站公司新闻/google关键词规划师
  • 网站主体备案/18款禁用看奶app入口
  • flash网站引导页面制作/seo优化排名软件
  • 网站制作理念/网站排名查询工具有哪些
  • wordpress做cms网站/seo关键词排名软件
  • thinkphp5网站开发/seo自媒体运营技巧
  • 西安建站/爱站网 关键词挖掘工具站长工具
  • 广告公司网站制作/流量精灵网页版
  • 不用代码做网站/关键词自动优化
  • 我们不仅仅做网站更懂得网络营销/友情链接怎么添加
  • 深圳网站建设 设计首选公司/域名注册哪个平台比较好
  • 个人网站建设设计/百度搜索高级搜索