Linux 下编译 thrift

news/2024/12/5 12:03:07/

 thrift编译需要依赖 openssl,首先按照文章《Openssl在Linux下编译/交叉编译》编译openssl。

网上有文章说thrift编译还需要依赖Boost,libevent,但是我发现不依赖这两个库也能把thrift编译出来。在 https://github.com/apache/thrift/releases 下载thrift源码。

比如这里下载 0.15.0版本的源码,将其拷贝进Linux,比如Ubuntu中,解压。然后进入源码目录:

./configure --prefix=$(pwd)/install --disable-tests --enable-shared --disable-tutorial --with-cpp --without-python --without-java --without-lua --without-csharp --without-erlang --without-php --without-php_extension --without-haskell --without-perl --without-go --without-c_glib --enable-static LDFLAGS="-L/home/cjc/company/Sunmnet/xiangmu2/trunk/avs/third_party/openssl-1.1.1s/install/lib -lssl -lcrypto" CPPFLAGS="-I/home/cjc/company/Sunmnet/xiangmu2/trunk/avs/third_party/openssl-1.1.1s/install/include"

这里只编译thrift C++相关的库,所以指定选项with-cpp --without-python --without-java --without-lua --without-csharp --without-erlang --without-php --without-php_extension --without-haskell --without-perl --without-go。

使用选项LDFLAGS="-L/home/cjc/company/Sunmnet/xiangmu2/trunk/avs/third_party/openssl-1.1.1s/install/lib -lssl -lcrypto" CPPFLAGS="-I/home/cjc/company/Sunmnet/xiangmu2/trunk/avs/third_party/openssl-1.1.1s/install/include"指定openssl的路径。

make
make install

执行完后,即生成thrift的库文件

参考:

《Mac安装Thrift》

https://github.com/apache/thrift/blob/master/lib/cpp/README.md

《linux的thrift编译指南详细版(64位 + 32位)》


http://www.ppmy.cn/news/41833.html

相关文章

List接口中的ArrayList与LinkedList

ArrayList ArrayList的继承实现关系图 ArrayList 底层就是⼀个 Object[] 数组,当实例化ArrayList时没有指定数组容量大小,、第⼀次添加元素(调⽤ add() ⽅法)时会初始化为⼀个⻓度为 10 的数组(即默认初始化容量为 1…

Golang编译报错 ‘invalid char’

现象 最近在新电脑安装go环境,发现 golang 包名如果有汉字就不能编译运行。 具体来讲,就是 go mod tidy 报错 ‘invalid char’ 但是,我在以前的电脑上运行 go mod tidy 没有问题 原因 我对比了 go sdk 版本,旧电脑用 go 1.13…

国产化复旦微电子 FMQL45T900 替代Xilinx ZYNQ ARM+FPGA 7045方案(评论区有联系方式)

FM4550国产化开发板 功能接口 - - 系统框图 - - 对应参数 - 1.主要参数 系统1: FPGA型号:FMQL45T900 PS内核:四核ARM Cortex-A7,主频800MHz PS端内存:1GB DDR3,数据速率1066Mbps,32bit PL端内存&…

通过实战探究 GraalVM 静态编译

通过实战探究 GraalVM 静态编译GraalVM 是什么什么是 Java 静态编译GraalVM 静态编译优点GraalVM 静态编译缺点Substrate VM 是什么native image 运行时的内存管理Serial GCG1 GCEpsilon GC预执行目标应用程序静态编译目标应用流程命令行模式配置文件模式Maven 模式Gradle 模式…

CefSharp.WinForms 112.2.70最新版体验

一、准备 下载最新包及依赖包(对应.NET4.5.2,后续版本可能4.6.2+)到packages中,本地升级更快 NuGet Gallery | CefSharp.WinForms 112.2.70 NuGet Gallery | CefSharp.Common 112.2.70 NuGet Gallery | cef.redist.x64 112.2.7 NuGet Gallery | cef.redist.x86 112.2.…

解决debian升级后没有声音

快速方案: apt update apt install firmware-sof-signed firmware-misc-nonfree #安装两个驱动 ## 然后添加一个内核参数,inteldsp.conf这个文件原来是不存在的,保险起见还是附加写入。 echo "options snd-intel-dspcfg dsp_driver1&qu…

Linux(centos7)安装防火墙firewalld及开放端口相关命令

安装firewalld 防火墙命令: yum install firewalld 安装完成,查看防火墙状态为 not running,即未运行,输入命令开启: 添加开放端口: 防火墙相关命令: 查看防火墙状态 systemctl status firewa…

JS内置对象2

数组对象: (1)检测是否为数组: …