我想在Xcode中使用Thrift 0.8.0 c ++库。因此我用
配置了thrift./configure --without-java --without-python --without-ruby --without-php --enable-static
我将静态库拖到我的项目中。然后我将“Header Search Paths”设置为“/ usr / local / include / thrift”和“/ opt / local / include”(因为我通过macports安装了boost)。
我可以按照here
所述运行Thrift服务器当我尝试运行客户端时,会抛出几个错误。
/usr/local/include/thrift/transport/TSocket.h
sockaddr* getCachedAddress(socklen_t* len) const;
/usr/local/include/thrift/transport/TSocket.h:216:3:错误:未知类型名称'sockaddr'
void setCachedAddress(const sockaddr* addr, socklen_t len);
/usr/local/include/thrift/transport/TSocket.h:216:30:错误:未知类型名称'socklen_t'
void setCachedAddress(const sockaddr* addr, socklen_t len);
/usr/local/include/thrift/transport/TSocket.h:237:31:错误:未知类型名称'sockaddr'
void setCachedAddress(const sockaddr* addr, socklen_t len);
/usr/local/include/thrift/transport/TSocket.h:237:47:错误:未知类型名称'socklen_t'
/usr/local/include/thrift/transport/TSocket.h:290:5:错误:未知类型名称'sockaddr_in'
union {
sockaddr_in ipv4;
sockaddr_in6 ipv6;
} cachedPeerAddr_;
/usr/local/include/thrift/transport/TSocket.h:291:5:错误:未知类型名称'sockaddr_in6'
boost::shared_ptr<TTransport> transport(new TBufferedTransport(socket));
... / ThriftClient / ThriftClient / Something_client.cpp ... / ThriftClient / ThriftClient / Something_client.cpp:15:49:{15:68-15:74}:错误:没有用于初始化'apache :: thrift :: transport :: TBufferedTransport'[3] <的匹配构造函数/ p>
任何人都可以帮助我吗?谢谢!
更新
在TSocket.h中包含以下几行后,一切正常。
#include <sys/socket.h>
#include <arpa/inet.h>
答案 0 :(得分:0)
#include <thrift/config.h>
或者只是
#define HAVE_CONFIG_H 1