google protobuf学习笔记一:windows下环境配置
来源:互联网 发布:手机淘宝怎么找客服 编辑:程序博客网 时间:2024/06/18 16:50
Windows下google protobuf开发环境配置
最近项目需求,Client与Server的网络通信协议传输使用google protobuf rpc。对于Protobuf,以前是只知道有这个东西,知道它干嘛,而且一直很仰慕,但是从来没学习过,最近刚好趁着项目机会,好好学习学习。
这篇主要讲,在windows下用vs2012配置google protobuf开发环境。
一.准备工作:
1.Windows7或其他Windows系统.
2.Visual Studio 2012或其他版本VS.
3.protobuf:我使用的是最新版本的protobuf(protobuf-2.6.1)。
windows下,需要下载两个包:
protobuf-2.6.1.tar.bz2 (protobuf所有的源码都在里面,用它进行编译成lib库)
protoc-2.6.1-win32.zip(内涵protoc.exe,用来把proto文件编译成目标语言(C++,Java,Python)的文本,是google protobuf定义的格式。其实这个文件不是必须的,编译protobuf-2.6.1.tar.bz2的时候会生成这个exe)
去官网下载protobuf的source code和编译工具:https://developers.google.com/protocol-buffers/docs/downloads
然后解压:我本地的路径是D:\protobuf-2.6.1
二.配置环境:
1.进入 D:\protobuf-2.6.1\vsprojects,用vs2012运行protobuf.sln,然后build solution,编译全部的项目,部分项目会报错,暂时先不管。
这些大家都会,我就不罗嗦了。
然后你就会发现,D:\protobuf-2.6.1\vsprojects\Debug目录下出现了很多内容,最重要的几个就是:libprotobuf.lib,libprotobuf-lite.lib,libprotoc.lib和protoc.exe
2.D:\protobuf-2.6.1\examples本来是有例子的,我们亲自实践下,动手自己在此目录下定义一个proto:
- package tutorial;
- message Person {
- required string name = 1;
- required int32 age = 2;
- optional string email = 3;
- }
cd D:\protobuf-2.6.1\vsprojects\Debug
D:\protobuf-2.6.1\vsprojects\Debug>protoc -I=D:\protobuf-2.6.1\examples --cpp_out=D:\protobuf-2.6.1\examples D:\protobuf-2.6.1\examples\person.proto
然后可以看到,生成了person.pb.h和person.pb.cc的文件。
3.我们用vs2012新建一个空的项目,选择属性,配置一下:
点击 配置属性 下的 C/C++ 的 常规,右边附加包含目录,导入这个路径D:\protobuf-2.6.1\src
点击链接器 的常规,右边的附加库目录,导入这个路径D:\protobuf-2.6.1\vsprojects\Debug
三.开始一个最简单的项目
好了,一切配置好了,该写代码了,我们做一个最简单的输入输出。新建一个main.cpp,然后把之前生成的person.pb.h和person.pb.cc复制到项目里面,并添加到项目里面。
- #include <iostream>
- #include "person.pb.h"
- using namespace std;
- using namespace tutorial;
- int main()
- {
- Person person;
- person.set_name("flamingo");
- person.set_age(18);
- cout<<person.name()<<endl;
- cout<<person.age()<<endl;
- system("pause");
- return 0;
- }
有些人说可以正常运行,但是我这边不行,主要是
网上查找原因,终于发现,需要在代码里面加两行:
- #pragma comment(lib, "libprotobuf.lib")
- #pragma comment(lib, "libprotoc.lib")
- google protobuf学习笔记一:windows下环境配置
- google protobuf学习笔记一:windows下环境配置
- google protobuf学习笔记一:windows下环境配置
- google protobuf学习笔记一:windows下环境配置
- Google protobuf :windows下环境配置
- 【Google Protobuf】windows下protobuf的环境搭建(一)
- Windows环境下google protobuf入门
- Windows环境下google protobuf入门
- 【Game】protobuf:windows下环境配置
- Windows下配置Protobuf
- [protobuf] 如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信
- com.google.protobuf学习笔记
- COCOS2DX学习笔记(一) windows下cocos2d-x的环境配置
- windows环境使用python google protobuf
- COCOS2DX学习笔记 windows下cocos2d-x的环境配置
- windows环境下Apache2.4+Tomcat8配置学习笔记
- 如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信
- 如何在Windows环境下的VS中安装使用Google Protobuf完成SOCKET通信
- CookieHelper,CacheHelper,MD5Helper
- 【LEETCODE】119-Pascal's Triangle II
- stm32笔记02——Jlink的SW下载接法
- 关于Java 中 static{}此写法说明
- Centos下yum安装heartbeat
- google protobuf学习笔记一:windows下环境配置
- UVa 11342 - Three-square
- iOS BUG收集: -[__NSCFNumber rangeOfCharacterFromSet:]: unrecognized selector sent to instance
- Datatable转换为List(用户权限验证)
- NSRunLoop
- mybatis的批量新增
- 3.网络代理组件
- 前端开发工具-webstorm及其他工具
- Ubuntu下配置samba实现文件夹共享