原因:
zk是用C语言写的,如果C++工程中,使用 zookeeper 库(作为静态库编译),需要在所有使用zk的工程中加入编译宏
USE_STATIC_LIB
否则会出现 __imp_XXXX错误,imp 链接错误是因为C++的函数签名方式不是直接使用函数名的原因。
在windows如果需要编译recipes的lock和queue的话,需要修改一些文件。这里有修改后的文件,可以直接使用recipes,我使用里面的zkr_lock,不过原来是C语言工程,我改了之后变成C++的了。
本文详细介绍了在C++工程中使用Zookeeper库时出现__imp_XXXX链接错误的原因及解决步骤。通过引入编译宏USE_STATIC_LIB并在windows环境下对recipes文件进行适当修改,可以顺利编译并使用Zookeeper的相关组件如lock和queue。
原因:
zk是用C语言写的,如果C++工程中,使用 zookeeper 库(作为静态库编译),需要在所有使用zk的工程中加入编译宏
USE_STATIC_LIB
否则会出现 __imp_XXXX错误,imp 链接错误是因为C++的函数签名方式不是直接使用函数名的原因。
在windows如果需要编译recipes的lock和queue的话,需要修改一些文件。这里有修改后的文件,可以直接使用recipes,我使用里面的zkr_lock,不过原来是C语言工程,我改了之后变成C++的了。
1253

被折叠的 条评论
为什么被折叠?