使用从源构建的库时未声明的方法

问题描述 投票:0回答:0

我正在尝试使用 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()
方法。

c++ makefile
© www.soinside.com 2019 - 2024. All rights reserved.