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