为openldap编译c ++库

时间:2018-06-06 00:27:24

标签: c++ compilation openldap

我在openldap.org /维基百科上读到有一个名为ldapc ++的OpenLDAP子项目。我想知道是否要构建一个使用openldap作为身份验证后端的程序,我可以使用的库是什么?但我似乎无法登陆实际谈论图书馆的页面。

然后我看到man page of ldap似乎引用了一些c函数调用?我检查了openldap的.configure脚本,它确实有enable-staticenable-shared选项来构建库,从头开始编译OpenLDAP后,在include /文件夹中看到了很多.h文件和文件夹中有很多.o和.lo文件,我认为它们是我可用于编程的实际库吗?

进一步的问题,如果我必须在机器上编译/编译/执行已编译的二进制文件,我是否必须在该特定机器上编译这些库?或者我可以简单地将静态/共享库文件复制到计算机上吗?

我问的原因是因为我可以在CentOS VM中成功构建和编译openldap,但是当我在win7_x64上回到MSYS2-64bit环境时,我在make步骤中执行的编译失败的步骤相同。

首先,make depend有一个致命的错误,无法编译slapi:

Entering directory '/home/Jimmy/openldapsrc/openldap-2.4.46/servers/slapd/slapi'
../../../build/mkdep -l -d "." -c "cc" -m "-M" -I../../../include -I.. -I.        -I../../../include -I./.. -I.     plugin.c slapi_pblock.c slapi_utils.c printmsg.c slapi_ops.c slapi_dn.c slapi_ext.c slapi_overlay.c nt_err.c
plugin.c:33:10: fatal error: ltdl.h: No such file or directory
 #include <ltdl.h>
          ^~~~~~~~
compilation terminated.
slapi_utils.c:34:10: fatal error: netdb.h: No such file or directory
 #include <netdb.h>
          ^~~~~~~~
compilation terminated.

这是我从某些库/ liblber / nt_err.c复制nt_err.c之后的错误外观,它甚至没有在slapi /中,我会收到一个nt_err.c找不到fatel错误。

然后在make的第一阶段:

Entering directory '/home/Jimmy/openldapsrc/openldap- 2.4.46/libraries/liblutil'
rm -f version.c
../../build/mkversion -v "2.4.46" liblutil.a > version.c
cc -g -O2 -I../../include        -I../../include       -c -o base64.o base64.c
In file included from base64.c:38:0:
../../include/portable.h:1116:19: error: two or more data types in declaration specifiers
 #define socklen_t int
                   ^
make[2]: *** [<builtin>: base64.o] Error 1

我不知道这是一个环境问题以及如何解决它。任何意见将不胜感激。

或者我可以简单地使用任何其他ldap sdk / lib连接到OpenLDAP?对C ++有一个很好的建议吗?

0 个答案:

没有答案