zoukankan      html  css  js  c++  java
  • vc2015编译protobuf

    下载地址:https://github.com/google/protobuf

    1.编译
    通过cmake生成sln文件来编译
    用cmd命令 cd 到3.0.0-beta-4cmake

    mkdir build & cd build
    mkdir solutionx86 & cd solutionx86
    cmake -G "Visual Studio 14 2015" -DCMAKE_INSTALL_PREFIX=../../../../install ../.. -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON -DCMAKE_GENERATOR_TOOLSET=v140_xp
    

    如果要编译64位的话

    cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_INSTALL_PREFIX=../../../../install ../.. -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_SHARED_LIBS=ON -DCMAKE_GENERATOR_TOOLSET=v140_xp
    

    注意中间不能有回车之类的,该命令行生成的是dll版本的(静态库的话要注意lib的运行库),其它版本请查考cmake目录下面的README.md

    2.hello world

    将examples目录下满的addressbook.proto,拷贝到生成的protoc.exe目录下面,cd到该目录

    protoc --cpp_out=./ addressbook.proto

    这样就会生成addressbook.pb.cc , addressbook.pb.h  两个文件,包含到你的项目中

    addressbook.pb.cc,需要取消预编译头或者手动加入#include "stdafx.h"

    然后包含头文件和lib文件

    直接用examples目录下面的 add_person.cc里面的代码测试即可

    注意:使用dll的时候需要定义宏PROTOBUF_USE_DLLS,小心不要将这个PROTOBUF_USE_DLLS定义在stdafx.h里面,然后你又取消了预编译头!

  • 相关阅读:
    C# 代理与事件上(delegate)
    串口编程(SerialPort类)
    java提取QQ邮箱中的邮箱地址
    javascript 调用onclick动作的几种方式。
    python的一些扩展模块,关于Reserving的....
    [ZZ]硬件虚拟化漫谈
    Intel VTx 技术手册 目录
    VTx技术手册杂记
    关于磁盘分析的一些资料
    ReactOS下的Sysutils目录.
  • 原文地址:https://www.cnblogs.com/ultracpp/p/5726968.html
Copyright © 2011-2022 走看看