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 <boost/utility/enable_if.hpp>

解决    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<char>’
     first ? first = false : f_types_ << “, “;
     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/generate/t_rb_generator.cc:369:11: error: operands to ?: have different types ‘bool’ and ‘std::basic_ostream<char>’
     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_ << “, “;
    }

原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/195590.html

(0)
上一篇 2021年11月16日
下一篇 2021年11月16日

相关推荐

发表回复

登录后才能评论