【ProtoBuffer】windows上安装ProtoBuffer3.1.0 (附已编译资源)
------- 17.9.17更新 ---
以下这些方法都是扯淡,对我的机器不适用,我后来花了最后成功安装并亲测可用的方法不是靠vs编过的,vs生成的库引入后函数全部报undefine reference to...的错误;
我前前后后花了半个月的空闲时间(其实是拖了半个月)+几个周末 来弄,始终就是死活硬是各种不对,
按照了网上的这段话的描述设置了 也不行。
“
”
今天发现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 (附已编译资源)的更多相关文章
- 在Windows上安装Elasticsearch 5.0
在windows上安装Elasticsearch Elasticsearch可以使用.zip软件包安装在Windows上. elasticsearch-service.bat命令,它将设置Elasti ...
- Windows 上安装 MySQL(8.0.11)
1.接下来我们需要配置下 MySQL 的配置文件 打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息: [m ...
- 在 Windows 上安装 TensorFlow(转载)
在 Windows 上安装 TensorFlow windows下配置安装Anaconda+tensorflow Spyder——科学的Python开发环境 Windows7 安装TensorFlow ...
- windows上安装apache python mod_python
综述: windows上安装apache python mod_python的例子.教程甚至图解都不少:但作为新手还是会出错,而且一时无法快速排解. 在此笔者将根据自己的实践经验,给出几个需要注意 ...
- (转)如何在Windows上安装多个MySQL
原文:http://www.blogjava.net/hongjunli/archive/2009/03/01/257216.html 如何在Windows上安装多个MySQL 本文以免安装版的mys ...
- Redis简介以及如何在Windows上安装Redis
Redis简介 Redis是一个速度非常快的非关系型内存数据库. Redis提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erla ...
- PHP 1:在Windows上安装和配置PHP,Apache和My SQL
原文:PHP 1:在Windows上安装和配置PHP,Apache和My SQL 如果你Google一把类似的主题,你会发现相关的文章可以塞满你的硬盘.在这里之所以把它再次拿出来,目的是想记录我作为一 ...
- 在windows上安装nginx
在windows上安装nginx 最近自己也尝试了一下在windows上安装nginx,其实非常的简单,这里算是备忘一下. 首先需要到nginx的官网上下载最新版的nginx:http://n ...
- windows下安装 mysql 8.0 以上版本以及遇到的问题
Windows 上安装 MySQL Windows 上安装 MySQL 相对来说会较为简单,地那就链接 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql ...
随机推荐
- try-catch-finally 与返回值的修改
先看一段java代码,func返回值为int: public static int func() { int result = 0; try { result = 1; return result; ...
- AHB协议整理 AMBA
本文对AHB协议作了简单整理,整理自两篇文章: AHB总线协议 AHB重点难点总结 1. 简介 AHB总线规范是AMBA总线规范的一部分,AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计 ...
- paloalto防火墙执行初始配置
1.默认情况下,防火墙的 IP 地址为 192.168.1.1,用户名/密码为 admin/admin. 为了安全起见,在继续执行其他防火墙配置任务之前,必须更改这些设置.必须从 MGT 接口(即使计 ...
- route的简单使用
route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] add : 添加一条路由规则del : 删除一条路由规则-net ...
- 《Java从入门到精通》学习总结1
1. Java既是编译型语音,也是解释型语言:先将源代码编译成Java字节码,然后Java虚拟机对Java字节码进行解释运行 2. 使用命令行编译Java源代码时,如果代码中有中文,在编译时需要指定编 ...
- 浅谈spring为什么推荐使用构造器注入
转载自: https://www.cnblogs.com/joemsu/p/7688307.html 一.前言 Spring框架对Java开发的重要性不言而喻,其核心特性就是IOC(Inversi ...
- abap 常用TCODE
ABAP: 通过查询表TSTC或者TSTCT:SAP系统将所有的事务代码都存储在这个表中,包括字开发的Y*和Z* TCODE 事务代码功能描述 CG3Y 下载服务器上文件 CG3Z upload fi ...
- 设计模式之装饰者模式-java实例
设计模式之装饰者模式 需求场景 我们有了别人提供的产品,但是别人提供的产品对我们来说还不够完善,我们需要对这个产品的功能进行补强,此时可以考虑使用装饰者模式. 我们已经有了产品,而且这个产品的功能非常 ...
- chip8模拟器的python3实现-1-CHIP8简介
打算编写一个NES模拟器,先从简单的chip8模拟器入手 1.CHIP-8简介 CHIP-8是一个解释型语言,由Joseph Weisbecker开发.最初CHIP-8在上个世纪70年代被使用在COS ...
- SVN chechout 错误: xxx is not valid as filename in directory
转载:https://blog.csdn.net/ClementAD/article/details/47838989 意思就是Linux系统允许文件或文件夹的名字包含空格,而windows是不允许的 ...