千家信息网

Thrift 动态库编译

发表于:2025-01-27 作者:千家信息网编辑
千家信息网最后更新 2025年01月27日,进入lib/cpp执行make 编译libthrift1)./src/thrift/Thrift.h:48:39: fatal error: boost/utility/enable_if.hpp:
千家信息网最后更新 2025年01月27日Thrift 动态库编译

进入lib/cpp执行make 编译libthrift

1)./src/thrift/Thrift.h:48:39: fatal error: boost/utility/enable_if.hpp: No such file or directory
#include

解决 yum install boost-devel


2)/opt/thrift-0.9.0/lib/cpp/.libs/libthrift.so: undefined reference to `SSL_accept'

/opt/thrift-0.9.0/lib/cpp/.libs/libthrift.so: undefined reference to `SSL_shutdown'
/opt/thrift-0.9.0/lib/cpp/.libs/libthrift.so: undefined reference to `SSL_get_shutdown'
/opt/thrift-0.9.0/lib/cpp/.libs/libthrift.so: undefined reference to `SSL_CTX_ctrl'
/opt/thrift-0.9.0/lib/cpp/.libs/libthrift.so: undefined reference to `X509_NAME_ENTRY_get_data'
/opt/thrift-0.9.0/lib/cpp/.libs/libthrift.so: undefined reference to `SSL_get_error'
/opt/thrift-0.9.0/lib/cpp/.libs/libthrift.so: undefined reference to `SSL_CTX_free'
collect2: error: ld returned 1 exit status
make[1]: *** [Benchmark] 错误 1
make[1]: 离开目录"/opt/thrift-0.9.0/lib/cpp/test"

解决 修改编辑/opt/thrift-0.9.0/lib/cpp/test/Makefile文件,链接库-lrt -lpthread 添加 -lssl -lcrtypto


编译错误:语法支持问题

src/generate/t_rb_generator.cc: In member function 'virtual void t_rb_generator::generate_enum(t_enum*)':
src/generate/t_rb_generator.cc:359:11: error: operands to ?: have different types 'bool' and 'std::basic_ostream'
first ? first = false : f_types_ << ", ";
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/generate/t_rb_generator.cc:369:11: error: operands to ?: have different types 'bool' and 'std::basic_ostream'
first ? first = false : f_types_ << ", ";
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[3]: *** [Makefile:749: thrift-t_rb_generator.o] Error 1
make[3]: Leaving directory '/home/dong/thrift-0.9.0/compiler/cpp'

解决

将 first ? first = false : f_types_ << ", ";

修改为

if(first)
{
first = false :
}
else
{
f_types_ << ", ";
}


0