一:安装最新版(自动安装)
最简单的是用homebrew进行安装
-
安装homebrew 在终端输入ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
- 安装thrift brew install thrift
用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
命令:./bootstrap.sh,该命令用于生成bjam可执行文件,这个东西就是用来编译boost库
命令:sudo ./b2 threading=multi address-model=64 variant=release stage install
-
安装 libevent
命令:./configure --prefix=/usr/local
命令:make
命令:sudo make install
-
安装 Apache Thrift
编译命令:./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 可以查看安装是否成功和版本
安装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文件。
相关推荐
mac 想安装低版本thrift 0.9.3太难了,高版本比较简单 直接执行 brew install thrift.rb 即可安装
### Thrift在Windows环境下安装与使用详解 #### 一、Thrift简介 Thrift是由Facebook开发的一款跨语言的服务开发框架,旨在支持可扩展的跨平台服务。它通过定义一套简单的数据类型和接口来描述服务,然后自动生成所...
编译完成后,Thrift工具将安装到系统的路径下,比如`/usr/local/bin`。你可以使用`thrift --version`来检查是否安装成功。接下来,你可以编写Thrift IDL(接口定义语言)文件,如`example.thrift`,并使用Thrift...
thrift0.12.0 Ubuntu 安装包及安装教程.tar.xz
### Thrift入门学习教程 #### 一、Thrift概述 Thrift是由Facebook开发并在2007年贡献给Apache基金会的一款开源项目。它的主要目的是解决跨平台、跨语言的系统间大数据量传输通信问题。在早期,Facebook面临着系统...
### Thrift中文简易教程 #### 一、简介 Thrift 是一个跨语言的服务开发框架,由 Facebook 开发并开源。它允许开发者构建可扩展的跨平台服务,支持多种编程语言如 C++, Java, Python, PHP 等。Thrift 的核心特性...
### Thrift初级入门教程 #### 一、简介 Thrift 是由 Facebook 开发的一款软件库和一组代码生成工具,旨在加速高效且可扩展的后端服务的开发与实现。通过抽象出不同编程语言中最常用的部分,并将其封装进一个通用库...
虚拟机Centos安装thrift涉及到的操作系统环境是Linux,尤其是Centos版本的操作系统。Thrift是一个跨语言的服务开发框架,它主要用于开发可扩展的跨语言服务。以下是根据提供的文件信息整理的详细知识点。 1. 下载...
1. 安装Thrift编译器:根据操作系统和需求,从Apache Thrift官网下载相应版本的编译器。 2. 编写IDL文件:定义你的服务接口和数据类型。 3. 生成代码:运行Thrift编译器,指定输入的IDL文件和目标语言,编译器会...
在“thrift 教程”中,你可能会学习到以下几个关键知识点: 1. **Thrift IDL(接口定义语言)**:Thrift 使用类似于C++或Java的语法来定义服务接口和数据结构。通过编写`.thrift`文件,你可以声明服务方法、数据...
对于CentOS系统,可以使用以下命令安装Thrift: ```bash sudo yum install thrift-devel ``` 然后,使用Thrift编译器将.thrift文件转换为PHP和Python的代码: ```bash thrift --gen php my_service.thrift thrift...
在Linux环境下安装和测试Thrift是一项技术性较强的工作,Thrift是一种开源的跨语言服务开发框架,它允许程序员定义服务接口和服务数据类型,然后自动生成客户端和服务器端的代码,以便于不同编程语言之间进行高效、...
thrift-0.9.2.安装.
thrift安装文件
在Windows环境下使用Thrift生成C#代码的过程主要分为以下几个步骤: 1. **安装Thrift编译器**: 首先,你需要下载Thrift编译器。压缩包中的`thrift-0.9.0.exe`是一个可执行文件,这表明你已经有了Thrift的Windows...
python3 使用 thrift 操作hbase 安装hbase-thirft后有一个Hbase报错 使用这个修改完成的Hbase类替换掉原来的Hbase类问题全部解决 主要是因为python版本兼容性带来的问题
在 Ubuntu 系统下安装 Thrift,首先要确保安装了必要的依赖包,例如 libboost、libevent、automake、libtool、flex、bison 和 g++。这些包可以通过 `sudo apt-get install` 命令来安装。接着,从 Apache Thrift 的...
总的来说,“C++(Qt)下的thrift的使用示例”涵盖了在Qt环境下集成Thrift服务的基本步骤,包括安装依赖、编写IDL、生成代码、实现服务和客户端,以及利用Qt的特性来优化通信过程。理解并掌握这些知识,将有助于你在...
而在`cpp-thrift-uploadImage-server`目录下,你会看到服务端的代码,包括服务器的启动、连接处理以及`ImageService`的实现。 总结来说,这个例子展示了如何结合Qt的网络功能和Thrift的跨语言RPC机制来构建C++...