thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Go,Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, and OCaml 这些编程语言间无缝结合的、高效的服务。
目前已经到0.11.0版本
0x01 准备工作
for windows
直接下载thrift 11然后加入系统PATH.
打开命令提示符 输入 thrift -version
即可显示版本号,也代表安装成功
for mac
brew也可以安装brew install thrift
也可下源码手动编译
首先需要安装openssl
brew install openssl
install Boost
下载Boost
./bootstrap.sh
sudo ./b2 threading=multi address-model=64 variant=release stage install
install libevent
下载libevent
./configure --prefix=/usr/local
make
sudo make install
install apache thrift
下载thrift
./configure --prefix=/usr/local/ --with-boost=/usr/local --with-libevent=/usr/local
sudo make install
如发生找不到openssl库文件的情况,可执行下列命令
sudo ln -s /usr/local/openssl/include/openssl /usr/include/openssl
如果报错Bison version 2.5 or higher must be installed on the system
请先使用brew install bison 升级到最新版本
然后切换到目录\
cd /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
sudo mv bison bison.bak
sudo cp /usr/local/Cellar/bison/3.0.4/bin/bison ./
//然后再执行切换到thrift目录
sudo make install
//然后再切换回来
sudo mv bison.bak bison
下载支持库
go get git.apache.org/thrift.git/lib/go/thrift
注: git直接下载下来为master版本,请切换至0.11.0分支(IDL编译工具要与支持库一致,否则会有故障)
cd git.apache.org/thrift.git
git checkout 0.11.0
0x02 开始使用
thrift --out .. --gen go xxxx.thrift
WARNING: thrift版本一定要与库版本一样.否则会发生未知错误
完
tip:谨以此文,献给暴漫,这次大概是真的凉了.荆轲刺秦王