------- 17.9.17更新  ---

以下这些方法都是扯淡,对我的机器不适用,我后来花了最后成功安装并亲测可用的方法不是靠vs编过的,vs生成的库引入后函数全部报undefine reference to...的错误;

我前前后后花了半个月的空闲时间(其实是拖了半个月)+几个周末 来弄,始终就是死活硬是各种不对,

按照了网上的这段话的描述设置了 也不行。

首先要明确protobuf默认编译出来的是静态库,而且是动态链接到CRT库的。 
自己的工程在链接protobuf的lib文件的时候,自己的工程所使用的平台(Win32/x64)、模式(Debug/Release)和链接CRT的方式(MD/MDD/MT/MTD)都要与protobuf库编译时使用的平台、模式和链接CRT方式相同。 
只要确保以上的内容,就不会有链接错误了

今天发现CMAKE里编译器里除了默认VS的选项外,还有一大堆,我选了mingw,电脑里也装了,然后,,一次就成功了!我大概了解makefile和CMAKE的一些原理,具体到一些参数设置也不知道。

好,重点来了。

相关设置

选择这个选项

 configue -> generate后退出CMAKE

进入上上图设置的build-mingw目录,执行命令:

>> make ( 等待~~)

>> make install 

然后在上上图设置的prefix目录中就会有我们想要的文件啦!include文件夹和lib文件夹。

libprotobuf.dll有8.6M;原来方法生成的只有1M左右。。。

最后就把文件放置到相应位置。

新的:

链接:http://pan.baidu.com/s/1bYYnDG 密码:o6o6

---------------------------

我不相信windows了,坑 :(

------ 以下是原文 -----

百度了很久,所介绍的方法很多都不适用,搜出来的文章都是找到vs的工程文件然后balabala...,但因为gihub上的最新版本protobuf3.3.0,是不带vs的工程文件了,官方的readme感觉有点偏Linux平台,我卡了很久。

  后来一想,让搜索引擎的结果只呈现近1年的结果,直接就有了。需要自己用CMAKE工具进行MAKE生成VS工程文件,过程其实并不难。

  以下是原文:

一、下载protobuf

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

二、 下载cmake

  下载地址:https://cmake.org/download/

  我的系统是64位的,所以下载的是64位的安装包,大家可以视自己的情况下载合适的安装包

三、 生成protobuf的vs工程

  打开Cmake(cmake-gui),分别选择protobuf目录下的cmake目录,以及希望vs工程文件存放目录;

四、生成protobuf库

  找到生成的vs工程打开,里面有很多工程,我们只关心红框中的两个工程,设置x64、MTd编译,

  在工程目录下的Debug和Release目录下生成libprotobuf.lib、libprotoc.lib、protoc.exe

  再加上src\google目录的头文件,即可使用

五、protobuf的使用

5.1 将protoc.exe放到一个目录下,新建一个build.bat文件,内容写入protoc --cpp_out=./ *.proto

5.2 将已有的.proto文件放到这个目录下,执行build.bat,就自动生成了对应h和cc文件

5.3 在应用工程里,加入protobuf的src\google目录头文件和libprotobuf.lib、libprotoc.lib库依赖,再加上生成的PB协议h和cc文件就可以解析PB格式协议了

(原文地址:http://blog.sina.com.cn/s/blog_62949ff40102x2wo.html

----------------------------------------------------------------------------

>> 我的补充:

----------------------------------------------------------------------------

1、编译完成后,可以在vsprojects\Release下发现3个lib和一个exe文件,他们分别是libprotobuf.lib,libprotobuf-lite.lib,libprotoc.lib和protoc.exe。(编译模式为Release 模式),可以将lib文件拷贝到一个lib目录下;

2、将下载的protobuf源码目录下的src目录下的google文件夹拷贝到一个include目录下;

3、目录结构如下

  ...\installed third party\pb\compile\include\....

  ...\installed third party\pb\compile\lib\....

  ...\installed third party\pb\compile\protoc.exe

4、打包好了,分享链接如下:

  链接:http://pan.baidu.com/s/1c1JZjmo 密码:f4qr

5、Protoc的使用

    • ...\installed third party\pb\compile 添加到PATH环境变量
    • cmd下输入:"protoc  -I. common.proto --cpp_out=.“,就可以生成对应的common.pb.cc和common.pb.h了。

6、Qt中引入

【ProtoBuffer】windows上安装ProtoBuffer3.1.0 (附已编译资源)的更多相关文章

  1. 在Windows上安装Elasticsearch 5.0

    在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...

  2. Windows 上安装 MySQL(8.0.11)

    1.接下来我们需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息: [m ...

  3. 在 Windows 上安装 TensorFlow(转载)

    在 Windows 上安装 TensorFlow windows下配置安装Anaconda+tensorflow Spyder——科学的Python开发环境 Windows7 安装TensorFlow ...

  4. windows上安装apache python mod_python

    综述:   windows上安装apache python mod_python的例子.教程甚至图解都不少:但作为新手还是会出错,而且一时无法快速排解. 在此笔者将根据自己的实践经验,给出几个需要注意 ...

  5. (转)如何在Windows上安装多个MySQL

    原文:http://www.blogjava.net/hongjunli/archive/2009/03/01/257216.html 如何在Windows上安装多个MySQL 本文以免安装版的mys ...

  6. Redis简介以及如何在Windows上安装Redis

    Redis简介 Redis是一个速度非常快的非关系型内存数据库. Redis提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erla ...

  7. PHP 1:在Windows上安装和配置PHP,Apache和My SQL

    原文:PHP 1:在Windows上安装和配置PHP,Apache和My SQL 如果你Google一把类似的主题,你会发现相关的文章可以塞满你的硬盘.在这里之所以把它再次拿出来,目的是想记录我作为一 ...

  8. 在windows上安装nginx

    在windows上安装nginx   最近自己也尝试了一下在windows上安装nginx,其实非常的简单,这里算是备忘一下.   首先需要到nginx的官网上下载最新版的nginx:http://n ...

  9. windows下安装 mysql 8.0 以上版本以及遇到的问题

    Windows 上安装 MySQL Windows 上安装 MySQL 相对来说会较为简单,地那就链接 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql ...

随机推荐

  1. Jenkins安装和配置

     一.Jenkins的安装 我们在进行自动化测试的时候通常我们都会进行持续集成,可以帮助我们持续集成的工具有很多,我个人比较喜欢用Jenkins. 主要是因为它有如下优点: 开源免费 跨平台,支持所有 ...

  2. Oracel递归查询start with ...connect by prior在Mysql中的实现

    Oracle是一个强大的数据库,有很多的函数和语法可以带来很多便利,有些函数和语法在Mysql中有代替的,但是有些没有现成可用的方法,比如Oracle的递归,在Mysql中怎么实现呢? 例子: Ora ...

  3. 【mybatis】使用mybatis框架中踩过的坑

    好久没来记录一下自己的学习情况,最近都在学框架,今天来记录一下关于mybatis框架的学习过程中碰过的一些问题: 以下内容可能稍微有点凌乱,因为是把之前遇到过的错误或异常都集中一起了,不过我已经把问题 ...

  4. 爬虫学习--MOOC爬取豆瓣top250

    scrapy框架 scrapy是一套基于Twisted的异步处理框架,是纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松实现一个爬虫,用来抓取网页内容或者各种图片. scrapy E ...

  5. 远程过程调用(RPC)

    在第二篇教程中我们介绍了如何使用工作队列(work queue)在多个工作者(woker)中间分发耗时的任务. 可是如果我们需要将一个函数运行在远程计算机上并且等待从那儿获取结果时,该怎么办呢?这就是 ...

  6. Jmeter Distributed (Remote) Testing: Master Slave Configuration

    What is Distributed Testing? DistributedTestingis a kind of testing which use multiple systems to pe ...

  7. 20164319 刘蕴哲 Exp3 免杀原理与实践

    [实验内容] 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellcode编程( ...

  8. python3 电脑说话

    #coding:utf-8 import win32com.client spk = win32com.client.Dispatch("SAPI.SpVoice") spk.Sp ...

  9. Top值

    业务开发中经常会用到元素或者浏览器窗口的各种top值,最近开发组件的过程中也遇到各种问题,因此决定好好总结一下. 常见的top值 scrollTop Element.scrollTop 属性可以获取或 ...

  10. 国内最火的10款Java开源项目,都是国人开发,CMS居多

    原文链接:https://www.cnblogs.com/jimcsharp/p/8266954.html 国内的开源环境已经相当好,但是国内开发注重是应用,创新有但不多,从榜单可以看出,专门搞技术的 ...