新建一个maven项目,先下载maven依赖  http://thrift.apache.org/download

<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.11.0</version>
</dependency>

 

再安装需要的工具  http://thrift.apache.org/docs/install/os_x

我的是MacBook Pro,按照要求,

安装thrift的工具依赖boost库

下载地址:www.boost.org,找到最新的版本下载,

下载之后解压,然后用cmd模式进入到解压文件夹的根目录。

执行命令

./bootstrap.sh
sudo ./b2 threading=multi address-model=64 variant=release stage install  

如果出现missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun错误,
先执行

xcode-select --install

安装thrift的工具依赖libevent库

下载地址:http://libevent.org,找一个稳定版本下载,

下载之后解压,然后用cmd模式进入到解压文件夹的根目录。

执行命令:

./configure --prefix=/usr/local
make
sudo make install

  

make的时候出现 fatal error: 'openssl/bio.h' file not found

这是由于mac默认安装了openssl但是没有安装对应的include头文件和lib库,故这里使用homebrew(参考https://brew.sh/index_zh-cn.html)来安装最新的openssl

先安装homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

再用homebrew安装openssl(xcode要是最新版本的才能安装):

brew install openssl

brew link openssl --froce

ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/openssl

ln -s /usr/local/opt/openssl/include/openssl /usr/local/include/openssl

ln -s /usr/local/opt/openssl/lib/libssl.a /usr/local/lib/libssl.a

ln -s /usr/local/opt/openssl/lib/libcrypto.a /usr/local/lib/libcrypto.a

 然后重新运行 make sudo make install 命令来安装libevent 

安装Apache Thrift

下载最新版本的thrift 0.11,下载地址:http://archive.apache.org/dist/thrift/

解压下载的文件,进入该目录,运行以下脚本

./configure --prefix=/usr/local/ --with-boost=/usr/local --with-libevent=/usr/local
make
sudo make install

如果报错error: Bison version 2.5 or higher must be installed on the system!

解决办法:mac中默认安装了bison 2.3版本,并配置了路径在path中。安装最新的版本3.0.4, 并将/usr/bin中的bison删除,将bison 3.0.4 复制到/usr/bin中
cd /usr/bin
brew install bison
brew unlink bison
source ~/.bash_profile 或者export PATH=/usr/local/Cellar/bison/3.0.4_1/bin:$PATH
把其加入环境变量
再执行bison -V , 版本号变成3.0.4即可

 运行thrift -version 命令查看thrift版本即可

最新文章

  1. [ASP.NET MVC 小牛之路]17 - 捆绑(Bundle)
  2. 如何将C#类库做成COM
  3. .NET程序的编译和运行
  4. 类似IOS的滑动返回上一级,SwipeBackLayout-android的滑动返回类库
  5. SwipeBackLayout的使用方法,右滑返回
  6. C#对Windows服务的操作
  7. JMS开发(一):基础理论认知
  8. 1033 - Merging Maps
  9. Linux Debugging(七): 使用反汇编理解动态库函数调用方式GOT/PLT
  10. Java历程-初学篇 Day01初识java
  11. Unity 3D中不得不说的yield协程与消息传递
  12. LVS搭建负载均衡(二)DR模型
  13. HTML&amp;javaSkcript&amp;CSS&amp;jQuery&amp;ajax(八)
  14. Bootstrap3.0学习第四轮(排版)
  15. 图-&gt;存储结构-&gt;数组表示法(邻接矩阵)
  16. Qt画笔实现曲线
  17. PAT 甲级 1015 Reversible Primes(20)
  18. jquery实现点击展开列表同时隐藏其他列表 js 对象操作 对象原型操作 把一个对象A赋值给另一个对象B 并且对象B 修改 不会影响 A对象
  19. Jmeter 之 ServerAgent 在性能测试的时候通过插件监听数据库状态
  20. 什么是HBase(六)性能调优

热门文章

  1. 看板与Scrum:哪个更适合你的团队?
  2. 1​1​.​0​5​9​2​M​晶​振​与12M晶振
  3. JAVA 多线程机制(一)
  4. pyqt声音输入
  5. 【Java面试题】8 面向对象的特征有哪些方面 ?
  6. mysql压缩包的安装、配置、配成windows服务、远程连接及常规问题
  7. shiro缓存
  8. 【Deep learning】NLP
  9. jquery计算出left和top,让一个div水平垂直居中的简单实例
  10. HTML性能优化