protobuf 3.0  与 之前的 protobuf 2.6 的语法是不一样的。需要重新安装一下,本机的环境是 OS X Yosemite  10.10.2
1. 不采用home brew安装,用homebrew安装的话会遇到一个open issue https://github.com/Homebrew/homebrew/issues/30320 的问题,没有仔细研究,索性就直接进行手工安装了;
    不过这里可以记录一下自定义brew的 formula的方法:
    (1) 如果直接使用 brewINSTALL protobuf 进行安装的话,目前默认的安装版本还是 2.6.1的,所以需要修改一个brew 的formula,让brew去寻找3.0的版本;方法如下:
              之后会要求输入formula的名字,输入protobuf即可,
              如果之前已经安装过protobuf,会报出protobuf.rb已经存在的错误,直接删除那个protobuf.rb文件就可以;
              还有如果之前安装了别的版本的protobuf,可以用sudo brew remove protobuf删除;
    (2) 上述部署做完之后,会弹出一个vim的编辑页面,直接保存就可以;
    (3) 接着就直接安装 sudo brewINSTALL protobuf,brew就会去下载3.0的版本,然后进行安装,进而就报出 https://github.com/Homebrew/homebrew/issues/30320  的问题了。有兴趣的可以研究一下。。。。
2. 直接进入正题,手工安装protobuf,
    (1)下载https://github.com/google/protobuf/archive/v3.0.0-alpha-3.tar.gz ,解压缩,cd 到压缩后的目录下;
    (2)本来按照正常安装linux 软件的步骤安装就行,但是发现没有configure脚本。。。不知道为啥搞了个autogen.sh 脚本,用来生成 configure脚本的,运行一下sudo ./autogen.sh,发现出问题。。。。
    (3)autogen.sh脚本好像要去搞一下gtest,是需要FQ的,挂了vpnFQ之后,gtest运行成功;
    (4)gtest成功后,还会报缺autoreconf包的错误,用sudo brew automake 来解决这个问题; 
    (5)还会报错。。。会报缺少libtool的问题,用sudo brew libtool来解决;
    (6)然后,没问题了。可以直接按顺序运行 ./configure ; make ; makeCHECK ; make install ;安装成功后,直接protoc  --version 来查看一下安装的版本是否正确,返回 libprotoc 3.0.0,说明成功安装;
3. 由于要配置 protobuf的golang环境,还需要安装golang的插件,插件的安装方法比较简单;
    (1) go get -u -v github.com/golang/protobuf/proto

              go get -u -v github.com/golang/protobuf/protoc-gen-go
              两个步骤就可以安装好 go的插件,还需要做的一个步骤是:
              sudo cp $GOPATH/bin/protoc-gen-go  /usrLOCAL/bin   将protoc-gen-go移动到系统$PATH中,否则在使用protoc的时候会报错: 找不到  protoc-gen-go 
             
4. 到目前为止,mac 下protobuf 3.0的golang环境就配置好了。可以使用 protoc --go_out=. *.proto 来生成proto对应的go文件了

mac 下配置protobuf 3.0 golang环境的更多相关文章

  1. (4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤

    Ubuntu下配置opencv3.1.0开发环境 1.最近工作上用到在Ubuntu下基于QT和opencv库开发应用软件(计算机视觉处理方面),特把opencv的配置过程详细记录,以供分享 2.步骤说 ...

  2. Mac 下配置 Cocos2d-x 3-x android 的环境

    本人初学Cocos2d 3-x,环境配置,搭建android环境弄了好长时间,走了不少弯路,翻阅了好多人的博客和文档,包括官方文档讲的似乎有些似懂非懂,好多依然是旧的版本,所以把我的整个过程梳理一下. ...

  3. mac 下配置 protobuf golang插件 并使用

    介绍 Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准Protocol Buffers 是一种轻便高效的结构化数据存储格式 可以用 ...

  4. mac 下 配置appium +ios真机环境

    mac系统:10.11.6 xcode:7 appium:1.5.3 iphone: 6 p 1.搭建 appium 安卓的环境: 1.jdk 2.sdk 3.appium 4.配置环境变量 mac下 ...

  5. Mac下配置域名和网站测试环境

    一.在 /etc/hosts   下配置相关域名 1, control+space  打开spotlight, 搜索“terminal” 2, 打开Terminal 3, 在terminal界面中输入 ...

  6. cocos2d-x 3.x游戏开发学习笔记(1)--mac下配置cocos2d-x 3.x开发环境

    打开用户文件夹下.bash_profile文件,配置环境 vim ~/.bash_profile //按键i,进行插入编辑(假设输错d进行删除一行) 环境配置过程例如以下: 1.首先配置下androi ...

  7. mac 下配置 VS Code 开发 Golang

    对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为:https://github.com/microsoft/vscode-go 这款插件的特性包括: 代码着彩 ...

  8. MAC 下用 brew 搭建 PHP 开发环境

    Mac下用brew搭建PHP(LNMP/LAMP)开发环境 Mac下搭建lamp开发环境很容易,有xampp和mamp现成的集成环境.但是集成环境对于经常需要自定义一些配置的开发者来说会非常麻烦,而且 ...

  9. mac下配置gdb调试golang

    mac下配置gdb调试golang 原文链接 https://sourceware.org/gdb/wiki/BuildingOnDarwin Building GDB for Darwin Crea ...

随机推荐

  1. C#使用DataSet Datatable更新数据库的三种实现方法

    本文以实例形式讲述了使用DataSet Datatable更新数据库的三种实现方法,包括CommandBuilder 方法.DataAdapter 更新数据源以及使用sql语句更新.分享给大家供大家参 ...

  2. # TypeScript 中如何确保 this 的正确性

    问题 在 TS 里面 this 关键字一开始让我这个写 C# 的十分惊讶,比如下面的一段代码,注意 initBinding 方法 class Company { id:number; /** * 在点 ...

  3. canvas 绘图

    <canvas>元素是HTML5中的绘图元素,通过定义一个画布区域,然后使用javascript动态地在这个区域里面绘制图形,对于2D和3D图形都可以绘制,我们将其分成2D上下文和WebG ...

  4. PHP延迟静态绑定:static关键字

    PHP5.3中引入了延迟静态绑定的概念.该特性最明显的标志就是新关键字static.static类似于self,但它指的是被调用的类而不是包含类.在本例中,它的意思是调用Document::creat ...

  5. 三种DSO(标准DSO、写优化DSO、直接更新DSO)、标准DSO覆盖合计规则

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  6. 使用IE11抓包,防止在网页跳转时抓包数据被清除的方法

    引:最近在研究使用python实现模拟登陆各大网站,在使用IE11进行抓包分析网站登陆的逻辑结构的时候,发现每次在抓包的时候,当网页跳转的时候,抓包数据会被清除,让我很是郁闷,最终在查阅相关资料以及自 ...

  7. HTML表格与列表

    HTML表格 表格其实就是很多的小单元格,而这些小单元格很有次序的排列着,它们有很多行,很多列.这些很多行列组成的东西,就叫表格,表格是<table>标签来定义的.而<table&g ...

  8. Java中的static关键字解析 转载

    原文链接:http://www.cnblogs.com/dolphin0520/p/3799052.html Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到 ...

  9. NHibernate的使用

    本文档适合初级开发者或者是第一次接触NHibernate框架的朋友,其中NHibernate不是最新的版本,但是一个比较经典的版本 NHibernate 2.1.2,其中用红线标注的部分一定要仔细看, ...

  10. 函数指针与指针函数以及typedef

    c难于理解的是指针,其魅力之处也是指针,函数方法结构,化繁为简可以理解为:返回值 函数名(形参表),具体来说: 返回值:1.可以为空void 2.基本数据类型char short int long f ...