window 安装 Protobuf
环境安装
1:下载CMake
2:打开VS Command Prompt
3:修改工作目录到目标目录
cd C:\Path\to
4:创建编译完后 protobuf headers/libraries/binaries 将要安装的文件夹
C:\Path\to>mkdir install
5:确保 'cmake' 命令可用,(如果不可用确保 把它加入到 path 环境变量中)
set PATH=%PATH%;D:\Program Files\cmake-3.5.2-win32-x86\bin
6:确保Git命令可用(如果不可用,添加到到 path 环境变量)
set PATH=%PATH%;D:\Program Files\Git\cmd
源设置
下载 packages https://github.com/google/protobuf/releases
把protobuf 放入 C:\Path\to 目标
cd C:\Path\to\protobuf\cmake
CMake 配置
参考: Visual Studio Generators
注意:64位请用对应的 64位VS命令行
1:创建一个 build 目录,并且改变当前工作目录到build
mkdir build & cd build
------创建Release配置
C:\Path\to\protobuf\cmake\build>mkdir release & cd release
C:\Path\to\protobuf\cmake\build\release>cmake -G "NMake Makefiles" ^
-DCMAKE_BUILD_TYPE=Release ^
-DCMAKE_INSTALL_PREFIX=../../../../install ^
../..
------创建Debug 配置
C:\Path\to\protobuf\cmake\build>mkdir debug & cd debug
C:\Path\to\protobuf\cmake\build\debug>cmake -G "NMake Makefiles" ^
-DCMAKE_BUILD_TYPE=Debug ^
-DCMAKE_INSTALL_PREFIX=../../../../install ^
../..
-----创建Visual Studio 解决方案文件
C:\Path\to\protobuf\cmake\build>mkdir solution & cd solution
C:\Path\to\protobuf\cmake\build\solution>cmake -G "Visual Studio 11 2012 Win64" ^
-DCMAKE_INSTALL_PREFIX=../../../../install ^
-Dprotobuf_BUILD_TESTS=OFF ^
../..
备注
Generates Visual Studio 11 (VS 2012) project files.
Visual Studio 11 2012 Win64 --Specify target platform x64.
Visual Studio 11 2012 ARM --Specify target platform ARM.
Visual Studio 11 2012 <WinCE-SDK> --Specify target platform matching a Windows CE SDK name.
Generates Visual Studio 12 (VS 2013) project files:
Visual Studio 12 2013 Win64 --Specify target platform x64.
Visual Studio 12 2013 ARM --Specify target platform ARM.
Generates Visual Studio 14 (VS 2015) project files:
Visual Studio 11 2012 Win64 --Specify target platform x64.
Visual Studio 11 2012 ARM --Specify target platform ARM.
Visual Studio 11 2012 <WinCE-SDK> --Specify target platform matching a Windows CE SDK name.
编译
To compile protobuf:
C:\Path\to\protobuf\cmake\build\release>nmake
或者
C:\Path\to\protobuf\cmake\build\debug>nmake
或者
VS:打开生成的.sln 文件 即可。
如果出现如下错误:

修改Platform Toolset 即可

安装
To install protobuf to the specified *install* folder:
C:\Path\to\protobuf\cmake\build\release>nmake install
or
C:\Path\to\protobuf\cmake\build\debug>nmake install
或者编译VS解决方案中的“INSTALL”。
如果出现编译错误,尝试用管理员权限打开VS重新试试

定义消息体
package tutorial;
message Person {
required string name = ;
required int32 id = ;
optional string email = ;
enum PhoneType {
MOBILE = ;
HOME = ;
WORK = ;
}
message PhoneNumber {
required string number = ;
optional PhoneType type = [default = HOME];
}
repeated PhoneNumber phone = ;
}
message AddressBook {
repeated Person person = ;
}
编译生成对应library
c++:(protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/addressbook.proto)
protoc -I=. --cpp_out=. HookMessage.proto
生成对应的 .h 和.cpp 文件
c#:(protoc -I=$SRC_DIR --csharp_out=$DST_DIR $SRC_DIR/addressbook.proto)
生成.cs 文件
c++项目使用
1:添加protobuf头文件: protobuf下的Src (protobuf-3.0.0-beta-2\src)
Property-->Configuration Properties-->c/c++-->General:Additional Include Directories

2:添加类库文件 (上面build出来的类库,如上例:C:\Path\to\protobuf\cmake\build\debug)
Property-->Configuration Properties-->Linker-->General-->Additional Library Directories

在使用cpp文件顶部加上
#pragma comment(lib, "libprotobufd.lib")
#pragma comment(lib, "libprotocd.lib")
build项目:
可能提示错误

该错误又由于 生成的类库和当前的项目使用的是不一样的 Runtime Library
修改如下配置即可: Property-->Configuration Properties-->c/c++-->Cide Generation-->Runtime Library( Multi-threaded DLL (/MD) | Multi-threaded Debug (/MTd) 等)
C#项目使用
引用Google.Protobuf.dll protobuf 源包中C#项目生成的DLL(需要打开项目自己编译生成)
window 安装 Protobuf的更多相关文章
- 解决Bash On Ubuntu On Window安装Zsh无效问题附安装说明
前言 Zsh是一款非常棒的Shell,使用Linux和Mac系统的人,基本上都知道zsh的存在. 问题 在安装完Zsh后,zsh是可以使用的,但是重启之后,又恢复至默认的bash. 我在安装好之后,使 ...
- MAC 安装 Protobuf
1.确认MAC装有g++.make.vim工具 2.安装make工具使用 brew install make 3.安装protobuf brew install protobuf 4.安装 ...
- Linux下安装protobuf并实现简单的客户端服务器端通信
http://code.google.com/p/protobuf/downloads/list上可以下载Protobuf的源代码. 安装步骤如下所示: 1>tar -xzf protobuf- ...
- mac 安装protobuf,并编译
因公司接口协议是PB文件,需要将 PB 编译成JAVA文件,且MAC 电脑,故整理并分享MAC安装 google 下的protobuf 文件 MAC 安装protobuf 流程 1.下载 http ...
- python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法
python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...
- MOTT介绍(2)window安装MQTT服务器和client
MQTT目录: MQTT简单介绍 window安装MQTT服务器和client java模拟MQTT的发布,订阅 window安装MQTT服务器,我这里下载了一个apache-apollo-1.7.1 ...
- RabbitMQ(一):Window安装RabbitMQ
原文:RabbitMQ(一):Window安装RabbitMQ 1.安装ERLANG语言环境 由于RabbitMQ是采用Erlang编写的,因此我们需要先安装该语言库,以便运行代理服务器.从Erlan ...
- MySQL Community Server 5.5.56 ZIP Archive 绿色解压版 window安装步骤
MySQL Community Server 5.5.56 ZIP Archive 绿色解压版 window安装步骤 首先 准备好启动配置文件my.ini [mysqld] #设置字符集为utf8 ...
- linux下安装protobuf及cmake编译
一.protobuf 安装 protobuf版本:2.6.1 下载地址:https://github.com/google/protobuf/archive/v2.6.1.zip 解压之后进入目录 修 ...
随机推荐
- bzoj1072
还是那句话s<=10 必然想到状压 题目唯一的难点在于怎么转移整除 整除即是mod d=0,我们用f[cur,j]表示选取状况为cur,余数为j的方案数 注意一个数a1a2a3…an (ai表示 ...
- XSS跨站脚本攻击在Java开发中防范的方法
1. 防堵跨站漏洞,阻止攻击者利用在被攻击网站上发布跨站攻击语句不可以信任用户提交的任何内容,首先代码里对用户输入的地方和变量都需要仔细检查长度和对”<”,”>”,”;”,”’”等字符做过 ...
- 论游戏中Buff的实现 [转]
论游戏中Buff的实现 分类: C/C++ 游戏开发2012-09-13 14:30 574人阅读 评论(6) 收藏 举报 c++游戏开发 源地址:http://blog.codingnow.com/ ...
- Java程序员从笨鸟到菜鸟全部博客目录
本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 大学上了一年半,接触java也一年半了,虽然中间也有其他东西的学习,但是还是以java为主 ...
- Android Monkey
adb shell "monkey -c android.intent.category.LAUNCHER -c android.intent.category.MONKEY -c andr ...
- Linux系统下如何修改主机名
vi /etc/sysconfig/network vi /etc/hosts sudo hostname
- Android 播放视频并获取指定时间的帧画面
最近做的项目要求既能播放视频(类似于视频播放器),又能每隔1s左右获取一帧视频画面,然后对图片进行处理,调查了一周,也被折磨了一周,总算找到了大致符合要求的方法.首先对调查过程中涉及到的方法进行简单介 ...
- 简单的ALloctor模板
template <typename T>class Alloctor{private: typedef T* address; T *memory,*t; size_t total_si ...
- HDU 2102 A计划(三维BFS)
这题太欢乐了......虽然wa了几次,但是想到骑士在两幅图的传送门中传来传去就觉得这骑士太坑了 #include <cstdio> #include <iostream> # ...
- HDU 5750 Dertouzos
Dertouzos Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total ...