一:概述

关于 protobuf 在此不再多说,此处记录下成功编译步骤以备日后查阅。
注意:本文并不是使用cmake gui进行编译的,如果熟悉cmake gui的话,也可以使用gui进行生成编译。

二:准备资源及工具

  1. VS2013或以上版本,安装好
  2. protobuf 源码,下载地址:
    官网:http://code.google.com/p/protobuf/
    git网:https://github.com/google/protobuf或git:https://github.com/google/protobuf/releases
    个人是最后一个地址下载的,下载包为末尾的:Source code (zip) 完整包
  3. cmake,下载并安装好
  4. 注意:如果有需要编译gtest的,还需要上官网或git下载gmock与gtest相关资源包。(早上这两个包好像是分开的,现在新版本,看readme中描述,gmock像是已被整合到gtest中了)。本人不需要gtest,故不下载。

三:环境配置

  1. 安装好cmake后,打开cmd窗口输入 cmake --version 检查cmake是否安装正确。如果提示错误,则需要手动配置cmake到系统环境变量中
  2. 解压下载好的 protobuf 源码完整包。(如解压到此处:I:\Dev\C++\ ,因此,本人的 protobf 资源所在位置为:I:\Dev\C++\protobuf-3.3.0)

四:编译 protobuf

  1. 打开VS2013 x86 本地工具命令提示(因为个人编译的是x32版本)
  2. cd I:\Dev\C++\protobuf-3.3.0\cmake
  3. mkdir build & cd build
  4. mkdir x86 & cd x86
  5. mkdir debug & cd debug
    提示:要编译release版本时,就 mkdir release & cd release 即可。此步骤只是创建一个debug(或release)目录,用于存放生成debug(或release)相关的cmake file配置信息。执行完步骤3、4后,当前所在路径为:I:\Dev\C++\protobuf-3.3.0\cmake\build\x86\debug
  6. cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=../../../../install/x86/debug ../../..
    此时稍等片刻等待makefile相关的配置文本生成完成。如果没有提示错误,则继续后续步骤
  7. nmake
    此时再次稍等片刻等待protobuf(相应的debug或release版本)编译完成。如果没有提示错误,则继续后续步骤
  8. nmake install
    此时再次稍等片刻等待安装完成。如果没有提示错误,则会在I:\Dev\C++\protobuf-3.3.0目录下生成一个 install目录,里面会有 bin 目录、lib 目录、include 目录 以及一个 cmake 目录。对于开发有用的主要是前三个目录。

Windows下编译protobuf v3.3.0的更多相关文章

  1. 继《在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib》修订

    在之前的<在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib>中有些问题,后来由于时间不是很充足,故现在对其中的问题进行完善,如下所示对红色框框中的相应的 ...

  2. [转] Windows下编译OpenSSL

    简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人 ...

  3. Windows下编译objective-C

    Windows下编译objective-C 2011-08-31 14:32 630人阅读 评论(0) 收藏 举报 windowscocoa工具objective clibraryxcode   目录 ...

  4. 在Windows下编译FFmpeg详细说明

    MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU F ...

  5. 如何在WINDOWS下编译BOOST C++库 .

    如何在WINDOWS下编译BOOST C++库 cheungmine 2008-6-25   写出来,怕自己以后忘记了,也为初学者参考.使用VC8.0和boost1.35.0.   1)下载boost ...

  6. 在Windows下编译OpenSSL(VS2005和VC6)

    需要说明的是请一定安装openssl-0.9.8a .  openssl-1.0.0我没有编译成功. 如何在Windows下编译OpenSSL (Vs2005使用Vc8的cl编译器)1.安装Activ ...

  7. windows下编译java源文件的编码错误

    import java.util.Arrays;public class ArrayAsAReference{ public static void main(String[] args) { int ...

  8. Windows下编译SDL

    Windows下编译SDL的理由我就不多说了,无论用VS来编译或调试SDL库都是很方便的.而且SDL源代码中也包含了VC工程,你所要做的只是解压VC工程,进行适当的配置,然后编译.调试. 编译SDL大 ...

  9. Windows下编译安装 FFmpeg

    在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在wind ...

随机推荐

  1. Linux_信号与信号量【转】

    转自:http://blog.csdn.net/sty23122555/article/details/51470949 信号: 信号机制是类UNIX系统中的一种重要的进程间通信手段之一.我们经常使用 ...

  2. Oracle 表连接方式

    1.嵌套循环联结(NESTED LOOPS)2.哈希联结(HASH JOIN)3.排序合并联结(MERGE JOIN)4.半联结(in/exists)5.反联结(not in/not exists)6 ...

  3. pycaffe做识别时通道转换问题

    转自---------------------  作者:Peanut_范  来源:CSDN  原文:https://blog.csdn.net/u013841196/article/details/7 ...

  4. 学习1:python输入输出

    1. 输出 >>> print "hello world" hello world >>> print 'hello world' hello ...

  5. java实现数据库分页

    /*** * 工具类 * @param pageIndex //页码 * @param pageSize//每页数据的条数 * @param rowCount//总的数据条数 * @return */ ...

  6. Mui自定义时间格式:

    Mui自定义时间格式: (function($) { $.init(); $(document).on('tap','.btn',function(){ var obj = getFormJson($ ...

  7. thinkphp模板常用的方法

    thinkphp模板我是看了3.2的文档,对里面的东西过了一遍,然后在写到需要用到模板的东西的时候就有印象,有的能直接回顾,但是有的就可能只知道有这个东西,但是不知道怎么用,所以就重新查手册,这个的话 ...

  8. 9:django 表单

    django自带表单系统,这个表单系统不仅可以定义属性名,还可以自己定义验证,更有自己自带的错误提示系统 这节我们仅仅粗略的来看一下django表单系统的入门运用(具体的实在太多东西,主要是我觉得有很 ...

  9. maven设置打jar包并引入依赖包

    --------------------------------------------------------方法一:将jar包和项目打在一起---------------------------- ...

  10. 寻找与网页内容相关的图片(三)网易新闻与qq空间的做法

    寻找与网页相关的图片现在看来无非有两种方式,第一种是网页自己指定,第二种是通过算法推断. 对于网站的内容提供者来说,他自己知道相关的图片在哪,正如前文所述可以在HTML的头部加上META标签,也可以像 ...