Thrift动态库编译

进入lib/cpp执行make 编译libthrift

10多年建站经验, 成都网站建设、做网站客户的见证与正确选择。创新互联公司提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。

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_ << ", ";
    }


网站名称:Thrift动态库编译
标题网址:http://ybzwz.com/article/pshhoi.html