google protobuf学习笔记一:windows下环境配置

欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/45371743

protobuf的使用和原理,请查看:http://blog.csdn.net/majianfei1023/article/details/45112415

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;

}

然后使用cmd运行protoc.exe生成我们的目标语言格式(c++).

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")

就能正常跑了:

protobuf的使用和原理,请查看:http://blog.csdn.net/majianfei1023/article/details/45112415

时间: 2024-10-20 09:36:11

google protobuf学习笔记一:windows下环境配置的相关文章

【cocos2d-x学习笔记】Windows下创建项目&amp;Linux环境搭建&amp;安卓环境搭建

一.windows下创建新项目 打开CMD将路径设置到cocos软件下的tools下的project-creator下,执行命令:create_project.py -project HelloWorld -package com.zsc.HelloWorld -language cpp 二.Linux环境搭建(QT配置) 1. 安装linux系统,ubuntu 14.04 64位 2. 安装支持软件 第1步:sudo apt-get update(运行此命令) 第2步:sudo apt-get

google protobuf学习笔记一:使用和原理

一.什么是protobuf protobuf全称Google Protocol Buffers,是google开发的的一套用于数据存储,网络通信时用于协议编解码的工具库.它和XML或者JSON差不多,也就是把某种数据结构的信息,以某种格式(XML,JSON)保存起来,protobuf与XML和JSON不同在于,protobuf是基于二进制的.主要用于数据存储.传输协议格式等场合.那既然有了XML等工具,为什么还要开发protobuf呢?主要是因为性能,包括时间开销和空间开销: 1.时间开销:XM

Kinect学习笔记之三Kinect开发环境配置详解

0.前言: 首先说一下我的开发环境,Visual Studio是2013的,系统是win8的64位版本,SDK是Kinect for windows SDK 1.8版本.虽然前一篇博文费了半天劲,翻译了2.0SDK的新特性,但我还是决定要回退一个版本. 其实我之前一直在用2.0的SDK在调试Kinect,但无奈实验室提供的Kinect是for Windows 1.0版本的,而且Kinect从1.8之后就好像是一个分水岭,就比如win8和win7有很大的差别,2.0版的Kinect和SDK都是相较

Java基础学习笔记-Java概述与环境配置

第一篇 Java 概述与环境配置 一.基础常识:   1.软件开发: <1>什么是软件? 软件:一系列按照特定顺序组织的计算机数据和指令的集合. 常见的软件: 系统软件:如DOS,windows, Linux等. 应用软件:如扫雷,迅雷,QQ等. <2>什么是开发? 制作软件 <3>人机交互 软件的出现实现了人与计算机之间的更好的交互.   交互方式: 图形化界面:这种方式简单直观,使用者易于接受,容易上手操作. 命令行方式:需要有一个控制台,输入特定的指令,让计算机完

安卓开发学习笔记-安卓开发之环境配置

作为一个工作了五年左右的C#资深开发程序员,虽然知道现在开始学安卓开发有点半路出家的味道,但是俗话说技多不压身,由于大学期间学习了java这门语言,而安卓开发又是以java作为开发语言,所以我感觉自己可以稍微涉足安卓,不求涉深,只求能懂,当然如果能有小成,也是我所希冀的. 要想学习安卓开发,首先肯定是配置安卓开发环境,安卓开发不像是asp.net或者winfrom.mvc之类的,直接安装完一个vs了事,然后你就可以大行其道的进行基于C#语言的项目开发了,搭建安卓开发环境,首先我们需要安装java

CUDA学习日志:windows开发环境配置

接触CUDA的时间并不长,最开始是在cuda-convnet的代码中接触CUDA代码,当时确实看的比较痛苦.最近得空,在图书馆借了本<GPU高性能编程 CUDA实战>来看看. Jeremy Lin 什么是CUDA CUDA(Compute Unified Device Architecture)是一种专门为提高并行程序开发效率而设计的计算架构.在构建高性能应用程序时,CUDA架构能充分发挥GPU的强大计算能力.更多的介绍,可以参考NVIDIA的ABOUT PAGE. CUDA开发环境配置 在开

Go语言学习(一),Windows下安装配置Go语言的配置环境

Go语言学习,有两个重要部分,一是安装Go语言包,二是安装开发的编译器. 次篇博客借助(https://www.cnblogs.com/qicun/p/11378354.html)完成的 一.go语言的安装包在网址(https://golang.google.cn/dl/)下载, 下载完成后,直接安装,一直下一步就行,会出更改安装位置的选项, 可以更改,也可以不更改,不更改的话,默认在C:\Go\目录下 安装完成后截图如下: 安装完成后,目录结构如下图所示: 这个目录结构遵循GOPATH规则,G

Google Web Toolkit(GWT) 在windows下环境搭建

1.什么是GWT? Google Web Toolkit(简称GWT,读作/?ɡw?t/),是一个前端使用JavaScript,后端使用Java的AJAX framework,以Apache许可证2.0版本开放源始码.GWT通过编译器将Java代码编译成JavaScript,可让开发人员使用Java程序设计语言,快速建置与维护复杂但高性能的JavaScript前端应用程序,借此减轻开发人员负担. 参见:http://zh.wikipedia.org/wiki/GWT 2.GWT SDK安装配置

SDL2.0 学习笔记-1 windows下的第一个测试程序

SDL全称是Simple DirectMedia Layer,是一个开源的.跨平台(win32,linux,mac)的多媒体开发c语言库. 官方网站 http://www.libsdl.org/ 第一步,下载源文件 首先去这个页面http://www.libsdl.org/tmp/download-2.0.php下载相关资源文件,直接下载SDL2-2.0.0.zip来自己编译,或者按自己的系统下载相关的开发资源(bin和include).解压资源包后,内容如下: include目录下头文件,sr