一:概述

关于 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. 腻子脚本polyfill

    腻子脚本 具体是指一段可以给老版本浏览器(ie9以前的版本)带来新特性的javascript脚本代码.如轻量级的脚本代码或Modernizr,Modernizr除了能让ie支持html5新元素之外,还 ...

  2. Java多线程学习(二)synchronized关键字(1)

    转载请备注地址: https://blog.csdn.net/qq_34337272/article/details/79655194 Java多线程学习(二)将分为两篇文章介绍synchronize ...

  3. selenium===介绍

    selenium 是支持java.python.ruby.php.C#.JavaScript . 从语言易学性来讲,首选ruby ,python 从语言应用广度来讲,首选java.C#.php. 从语 ...

  4. JDBC数据源连接池(4)---自定义数据源连接池

    [续上文<JDBC数据源连接池(3)---Tomcat集成DBCP>] 我们已经 了解了DBCP,C3P0,以及Tomcat内置的数据源连接池,那么,这些数据源连接池是如何实现的呢?为了究 ...

  5. highcharts 折线,饼状,条状综合图

    完整代码如下: <head> <meta http-equiv="Content-Type" content="text/html; charset=u ...

  6. redis之(二)redis单机的安装,配置,启动,关闭

    [1]下载redis压缩包,解压,编译

  7. aliyun服务器ubuntu系统+MySQL+SqlDeveloper

    首先按照 https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-16-04 https://w ...

  8. AC日记——[Hnoi2017]影魔 bzoj 4826

    4826 思路: 主席树矩阵加减+单调栈预处理: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 200005 ...

  9. nginx代理缓存

    (1)缓存介绍 1.代理服务器端缓存作用 减少后端压力,提高网站并发延时 2.缓存常见类型 服务器端缓存:代理缓存,获取服务器端内容进行缓存 浏览器端缓存 3.nginx代理缓存:proxy_cach ...

  10. schtasks命令

    1.创建任务 在每天的22.44定时执行一次. schtasks /create /tn : 在特定时间运行一次. schtasks /create /tn : /sd // 2.运行一次任务 创建任 ...