Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/132.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;使用ldap.h中的ldap_绑定_C++_Ldap_Openldap - Fatal编程技术网

C++ C++;使用ldap.h中的ldap_绑定

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已弃用 #包括 #包括 } 这会导致当前版本中出现

我正在尝试使用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已弃用
#包括
#包括
}

这会导致当前版本中出现一些编译错误,因为在
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