C++ C++;使用ldap.h中的ldap_绑定
我正在尝试使用ldap_bind,但遇到了此错误C++ C++;使用ldap.h中的ldap_绑定,c++,ldap,openldap,C++,Ldap,Openldap,我正在尝试使用ldap_bind,但遇到了此错误 error: âldap_bindâ was not declared in this scope 代码: TIA我没有OpenLDAP方面的经验,但从标题来看,您似乎需要: extern "C" { # define LDAP_DEPRECATED # include <ldap.h> # include <lber.h> } extern“C”{ #定义LDAP\u已弃用 #包括 #包括 } 这会导致当前版本中出现
error: âldap_bindâ was not declared in this scope
代码:
TIA我没有OpenLDAP方面的经验,但从标题来看,您似乎需要:
extern "C" {
# define LDAP_DEPRECATED
# include <ldap.h>
# include <lber.h>
}
extern“C”{
#定义LDAP\u已弃用
#包括
#包括
}
这会导致当前版本中出现一些编译错误,因为在ldap.h
中使用#如果ldap\u已弃用
而不是\ifdef
,请为宏指定一个值:
#define LDAP_DEPRECATED 1
而且这很好。不要使用ldap\u绑定。它被弃用了。而是使用
ldap\u sasl\u bind
h已经弃用了很多函数,主要是出于安全原因 查看以下命令,该命令列出了所有不推荐使用的函数
grep deprecate < /usr/include/ldap.h
grep不推荐
在*nix系统或任何允许您指定编译标志的系统上,您可以将以下内容添加到标志列表中:
-DLDAP_DEPRECATED
这使您可以使用已弃用的功能,而无需将定义添加到所有源文件/头文件的顶部。在查看代码后,我必须定义LDAP\u弃用功能,因此您是正确的。谢谢
grep deprecate < /usr/include/ldap.h
-DLDAP_DEPRECATED