protobuf应用到vs2013中

由于项目需要用到protobuf——谷歌protobuf的是google的一个强大的网络传输协议,protocol buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。考虑到很多人使用vs的编译工具,描述将protobuf添加到vs的项目中。

1.准备工作

在使用之前需要下载protobuf源码,以及编译工具,这里通常采用cmake来编译,通过cmake来编译可以使用命令提示符来编译,也可以使用cmake的可视化工具进行。在编译前提前下载好相关的源码:
1.下载 protocolbuffer源码, https://github.com/google/protobuf/releases
并解压;
protobuf
2.安装cmake工具和vs工具,这是我使用的是vs2013;在安装过程中记得选择“写入环境变量”,或者安装过后自行在环境变量里添加Cmake目录下bin所在路径,方便在命令行使用Cmake 。安装完成,打开cmd,输入cmake --help,如下证明安装成功。
cmake

特别注意:根据你的需求以及使用vs版本下载相应protobuf版本的源码,并不是最新的就适合,因为vs2013不支持c++11的特性,所以,下载protobuf的时候,最好下载3.1之前的版本,这里我下载的是protobuf-cpp-3.1.0,如果你使用vs2015及以上的版本可以下载更高的版本需要。否则编译会出问题;

2. 编译protobuf源码

1.首先解压protobuf-cpp-3.1.0压缩包,在E:\protobuf-cpp-3.1.0目录下,新建一个install文件夹,编译之后的include和lib文件会放在里面。(其实不自己创建的话,后面会自己生成。)如下:
在这里插入图片描述
2.接下来,打开,VS2013开发人员命令提示(点击,开始->所有程序->Visual Studio 2013->Visual Studio Tools,进入如下界面)
在这里插入图片描述
在这里插入图片描述
3. 进入protobuf目录下的cmake目录,操作如下图所示:
在这里插入图片描述
在cmake目录下创建build目录,并且进入
此外,在下载的protobuf目录下,找到cmake文件夹,新建build文件夹,如下图所示:

mkdir build & cd build

build
4.创建release和debug版本的目录。(注意,二者选其一,根据你的项目需求选择,一定要一一对应!这里把两个版本相关的命令都写上,但是本文后面的示例,是按照debug版本使用的。)

4.1.release版本:

1)创建release目录并且进入:

mkdir release & cd release

2)生成Makefile文件:

cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../../../../install ../..

3)nmake进行编译:

nmake

4)安装include头文件,lib库文件等,会放在一开始创建的install文件夹中:

nmake install 

4.2. debug版本:

1)创建debug目录并且进入:

mkdir debug & cd debug 

2)生成Makefile文件:

cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=../../../../install ../..

3)nmake进行编译:

nmake

4)安装include头文件,lib库文件等,会放在一开始创建的install文件夹中:

nmake install 

至此,debug和release版本都编译成功了,以debug为例,在文件夹下,会生成如下文件:
在这里插入图片描述
在install文件夹下,会生成需要的头文件和库文件如下:
在这里插入图片描述

3.protobuf在vs2013中的使用

打开vs2013,新建一个空项目,进行如下配置:
1)进入项目属性页->配置属性->链接器->常规->附加库目录,加入之前debug生成的目录(因为本文测试用例以debug为例,所以选择debug目录)如下:
在这里插入图片描述
2)进入项目属性页->配置属性->链接器->输入->附加依赖项,加入依赖项如下

libprotobufd.lib
libprotocd.lib

在这里插入图片描述
3)进入项目属性页->配置属性->C/C+±>代码生成->运行库,选择多线程(/MT)
在这里插入图片描述
4)进入项目属性页->配置属性->C/C+±>常规->附加包含目录,加入先前在install文件夹下生成的头文件include的目录,如下:(这个是针对一些没有包含库文件的错误!!)
在这里插入图片描述
5)进入项目属性页->配置属性->链接器->输入->忽略特定默认库,加入LIBCMT.lib(这个是针对,LIBCMT重定义的错误!!!)
在这里插入图片描述
配置完成之后,就可以在项目的头文件中定义自己需要的数据协议并使用了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值