当前位置:首页 > 开发 > 开源软件 > 正文

thrift Mac下安装教程

发表于: 2015-06-17   作者:BlueSkator   来源:转载   浏览次数:
摘要: 一:安装最新版(自动安装) 最简单的是用homebrew进行安装 安装homebrew 在终端输入ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" 安装thrift   brew install thrift 用brew安装的thri

一:安装最新版(自动安装)

最简单的是用homebrew进行安装

用brew安装的thrift版本是0.9的,but,我们项目中得thrift版本是0.8的,所以果断卸载掉。

 brew uninstall thrift。转到下面第二种方法安装thrift

二:手动安装0.8.0

先安装依赖。

http://www.jattcode.com/installing-autoconf-automake-libtool-on-mac-osx-mountain-lion/

  • 安装BOOST

下载:http://www.boost.org/

命令:./bootstrap.sh,该命令用于生成bjam可执行文件,这个东西就是用来编译boost库

命令:sudo ./b2 threading=multi address-model=64 variant=release stage install 

  • 安装 libevent

下载:http://libevent.org/

命令:./configure --prefix=/usr/local

命令:make

命令:sudo make install 

  • 安装 Apache Thrift

下载:http://thrift.apache.org/

编译命令:./configure --prefix=/usr/local/ --with-boost=/usr/local/lib --with-libevent=/usr/local/lib --without-ruby --without-python --without-perl --without-php

有一些不相关的code genorater可以不要了,不然又得会报错。。。

安装命令:sudo make install

thrift -version 可以查看安装是否成功和版本

thrift-0.8.0.tar.gz

安装8的时候会遇到如下问题,并按如下解决:

Osx 10.9 是比较新的系统, 从这个版本开始, 系统默认编译器从GCC 改为 Clang(GCC -v 一下, 给的是clang 的提示). 

Thrift 0.8  代码相对又比较老, 在新的编译器上遇到了下列一些问题.

问题1 :

  多个源码文件报错 # include <tr1/functional>, file not found, 改为 # include <boost/tr1/functional.hpp> 解决.

  需要修改以下文件:

  • lib/cpp/src/concurrency/ThreadManager.h  line:24
  • lib/cpp/src/async/TAsyncChannel.h line:23
  • lib/cpp/src/async/TAsyncChannel.cpp line:21
  • lib/cpp/src/async/TAsyncProcessor.h line:23
  • lib/cpp/src/async/TAsyncBufferProcessor.h line:23

 原因:  在我试验的环境下, 此头文件有后缀名/usr/local/include/boost/ tr1/functional.hpp

问题2:

  cpp 测试代码 test/Benchmark.cpp 编译失败,  shared_ptr  ambigous , 用 boost::shared_ptr 替换 shared_ptr,

  错误消失.

  原因: Clang 支持 C++ 11, 其 标准库自带 shared_ptr(std::shared_ptr, 参考 http://zh.cppreference.com/w/cpp/memory/shared_ptr

 故需显式指定名字空间.

 三:测试

下面编写一个HelloWorld.thrift 来测试一下,内容如下:

namespace java com.xx.mobile.hotel.sc.demo

service HelloWorldService {
     string sayHello(1:string username)
}

执行:thrift -gen java HelloWorld.thrift 将在同级目录下生成gen-java/com/xx/mobile/hotel/sc/demo/HelloWorldService.java文件。

thrift Mac下安装教程

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
傻瓜式安装就是用 brew install mongodb。 不过在此之前需要做 brew update ,否则会报下面错误:
mac下的mongodb安装主要有两种方式,一是手工安装,需在官网下载源文件,二是通过homebrew,至于hom
mac下安装memcached 更多memcached信息可以参考 http://www.ibm.com/developerworks/cn/java/j-memc
[zz]http://yanghao.org/blog/archives/76 本来以为使用easy_install安装MySQLdb很简单,结果还是费
mac下安装memcached 更多memcached信息可以参考 http://www.ibm.com/developerworks/cn/java/j-memc
[zz]http://yanghao.org/blog/archives/76 本来以为使用easy_install安装MySQLdb很简单,结果还是费
mac下安装memcached 更多memcached信息可以参考 http://www.ibm.com/developerworks/cn/java/j-memc
eclipse中最常使用的SVN插件是subclipse,先到subclipse官网:http://subclipse.tigris.org下载该插
Mac下安装 OpenCV 1.下载Opencv: cd ~/<my_working _directory> svn co http://code.opencv
一、安装 到MySQL官网上http://dev.mysql.com/downloads/mysql/,下载mysql可安装dmg版本 比如:Mac
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号