进入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_ << ", ";
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。