protobuf + vs2013 下载.安装与编译!

在网上找了很多例子,都没有一步成功的,这是我自己总结出来的方法,希望能帮助更多的新手

1 win7系统,工具vs

2.所需文件 protobuf-2.5.0.tar.gz,protoc-2.5.0-win32.zip   ,自己在网上找下载地扯

http://download.csdn.net/download/px_dn/7414673             //protobuf-2.5.0.tar.gz 下载

http://download.csdn.net/download/hiz1990/9512182         //protoc-2.5.0-win32.zip


这里不多说废话,默认你已下载好,

找到你解压好的目录下,找到proto.exe,并把它的目录加到windows环境变量里;如图


 这里放的是你自己的proto.exe文件所在目录,



并新加一条路径proto_path,值E:\zhuxueyong\tools\protoc-2.5.0-win32 (2)  ,这里路径根据你所解压所在的目录!如图




定义protobuf 消息   后缀为.proto文件

如我的




接下来打开cmd窗口,输入命令执行 如

protoc -I =E:\zhuxueyong\code --cpp_out=E:\zhuxueyong\code E:\zhuxueyong\code\myproto.proto  //生成.h和.cc文件

一般是不会出错,这步有问题可以看看自己的环境变量有没有填好!如图


这段命令执行成功后,会在对应的.proto文件目录生成对应的.h和.cc文件,这是我们工程要用的文件


自己去网上找这段命令的大意。

=================================================================

重要的步骤,也是比较坑的步骤用vs编译生成protocol buffer动态库。

找到protobuf-2.5.0下的vsprojects目录下的protobuf.sln 文件并用vs打开,

打开之后会有9个项目,选择编译



当编译生成动态库时出现min找不到标识符,max找不到标识符时,选中到提示文件中,在上面添加#include <algorithm>头文件清空再次编译,这时还有一些其它错误时,不用管它,能生成我们需要的动态库,libprotobuf.lib 和libprotoc.lib 文件,没有找到时来debug文件下找,可以根据你生成的版本来找对应的动态库。你也可以单独编译这俩个工程,生成对应的lib文件就好!

最后我们可以测试写代码了。

用vs建工程,不用多说。并把生成的.h和.cc文件拷贝到工程目录下和在工程中添加这俩个文件



最后就是把动态库文件,.h 和.cc文件的路径加到vs中, 

把.h和.cc复制到当前目录下,并在vs上添加现有项,加进来

运态库文件是指编译好的libprotobuf.lib 和libprotoc.lib,有俩步,

1.在项目属性中,打开c/c++   ->  常规  -> 附加包含目录 - > 编辑, 把这俩个lib 文件所在的目录加进来

2.链接器 -> 附加库目录 -> 编辑  - >  同样把这俩个库文件所在目录加进来





现在总算到了写代码的时候了,如

#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讲的比较好的文章blog

http://www.cnblogs.com/stephen-liu74/archive/2013/01/04/2842533.html  




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值