我正在尝试使用 make 构建一个用 C++ 编写的应用程序。构建应用程序时出现此错误:
/fake/path/ZK_session.cpp: In function 'sofa::ZK_result sofa::base_create(zhandle_t*, const string&, const string&, const string&, int)':
/fake/path/ZK_session.cpp:202:22: error: '::zoo_create' has not been declared
auto res = ::zoo_create(zk,
^~~~~~~~~~
我知道这个错误与我正在使用从源代码构建的 Zookeeper 客户端库版本有关。在不同的操作系统上,我使用了库的预构建二进制文件,但没有出现此错误。
我很困惑为什么我收到消息
'::zoo_create' has not been declared
,因为 Zk_session.h 有 #include <zookeeper/zookeeper.h>
,而 zookeeper.h 确实声明了 zoo_create()
方法。