免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8370 | 回复: 2
打印 上一主题 下一主题

[ldap] <原创>在windows下编译openldap的方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-27 17:33 |只看该作者 |倒序浏览
在Windows下编译openldap的方法:
首先,至少需要有Berkeleydb和Cyrus SASL
如果需要tls,还要有openssl
openldap自从2.2x版以后就不在提供移植到windows下的工程文件了,但是它里面还是有有这方免得考虑,移植起来还是可以实现的。经过两三天的实验,我已经把其中的几个比较重要的库编译出来了,下面介绍下这个在windows下编译openldap的过程。我的编译环境是win xp, VC 6.0,另外我还用到了cygwin,其实并不重要,只是为了要把那些在linux下产生的代码拷贝过来。

1、编译liblber
(1)建立静态链接库工程文件,取名为liblber
(2)导入4个头文件到openldap\include中:
        lber_types.h
        ldap_config.h
        ldap_features.h
        portable.h
(2)导入librares\liblber中的文件,可以不用包括idtest.c, dtest.c和etest.c
(3)关闭宏:
TIME_WITH_SYS_TIME
HAVE_SYS_TIME_H
LDAP_SYSLOG
HAVE_LONG_LONG
HAVE_POLL_H
HAVE_GETOPT_H
HAVE_GETOPT
HAVE_SYS_IOCTL_H
HAVE_FCNTL
HAVE_NONPOSIX_STRERROR_R
HAVE_STRERROR_R
HAVE_STRERROR
打开宏:
HAVE_WINSOCK2
HAVE_WINSOCK2_H
HAVE_WINSOCK_H
HAVE_WINSOCK
(4)把所有的long long 型定义都改成unsigned long型
(5)编译,生成liblber.lib

2、编译libldap
(1)建立静态链接库工程libldap
(2)导入libraries\libldap中文件,除了dntest.c ftest.c test.c这些测试工程
(3)关闭宏:
HAVE_SYS_PARAM_H
HAVE_ARPA_NAMESER_H
HAVE_SYS_FILE_H
HAVE_RESOLV_H
HAVE_RES_QUERY
HAVE_TLS
HAVE_POLL
HAVE_TLS
HAVE_SYSCONF
HAVE_SYS_UIO_H
LDAP_PF_LOCAL
HAVE_DIRENT_H
HAVE_HSTRERROR
HAVE_GETDTABLESIZE
HAVE_INET_ATON
打开宏:
#define socklen_t int
在portable.h中加入下面两行:
#define strcasecmp        stricmp
#define strncasecmp        strnicmp
(4)编译,生成libldap.lib

3、编译liblutil
(1)建立静态库工程liblutil
(2)导入libraries\liblutil中的文件,但不导入detach.c
(3)关闭宏:
HAVE_FLOCK
HAVE_SIGACTION
URANDOM_DEVICE
在portable.h后面加上以下四行:
        #define PROV_RSA_FULL 1
        typedef unsigned long HCRYPTPROV;
        typedef unsigned long DWORD;
        typedef unsigned char BYTE;
(4)编译,生成liblutil.lib


基本上如果要开发客户端的话,把这三个库编出来似乎就可以了,我试了试,一般的增、删、改、查都可以了,注意开发客户端时,除了要连接这几个库,还要有libsasl.lib和ws2_32.lib这些库,可能还会有wsock32.lib吧,如果连接不过可以试试。。。

有什么不足之处,希望大家指正。多多发言啊,臭鸡蛋鲜花一块上,什么我都要,哈哈

[ 本帖最后由 lhm0000 于 2007-11-28 09:05 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-11-29 09:19 |只看该作者
顶一下
jusan 该用户已被删除
3 [报告]
发表于 2007-12-17 16:03 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP