zookeeper 3.3.3 C 编译的问题及解决

zookeeper 3.3.3 在Redhat 上编译时,会有下面的错误

 ../../../include/zookeeper/recordio.h:70: error:expected unqualified-id before ‘__extension__’
../../../include/zookeeper/recordio.h:70: error:expected `)' before ‘__extension__’
../../.. /include/zookeeper/recordio.h:70: error:expected unqualified-id before ‘)’ token
 

当把zookeeper.h 放到include第一位就不会有这个问题,显然这不是一个好的解决办法.

经检查,发现recordio.h中定义的

int64_t htonll(int64_t v);


在其它的头文件中可能会被定义成宏

所以做如下修改:

#ifndef htonll
int64_t htonll(int64_t v);
#endif


猜你喜欢

转载自blog.csdn.net/Falcon2000/article/details/6895784