编译错误:/usr/bin/ld: cannot find -lldap50

chenyzzu 2009-07-01 01:55:11
编译错误:/usr/bin/ld: cannot find -lldap50
collect2: ld returned 1 exit status

我在/usr/bin/ 下面找到ld。但是没有这个所谓的 lldap50 这是什么东西啊,在哪可以找到?

我的makefile 文件如下:
LIBNAME= libtdldap
HEADERDIR= ../../include
LIBLDAPDIR= ../../lib

#CXXFLAGS= $(CFLAGS) -Wno-error -Wno-unused -Wl,-Bdynamic
CXXFLAGS= $(CFLAGS)

CXXFLAGS+= -I$(HEADERDIR)

LDFLAGS+= -L$(LIBLDAPDIR)


PROGS= tdldap ldaperror ldapattribute ldapentry


objs= tdldap.o ldaperror.o ldapattribute.o ldapentry.o
all: $(PROGS)

$(CXX) -g -shared -lc -Wall -o $(LIBNAME).so $(objs)
ar rcs $(LIBNAME).a $(objs)
# $(CXX) -g -o test test.cpp $(CXXFLAGS) $(LDFLAGS) -L. -lldap50 -lpthread -ltdldap -lgstring -lbindata -I.
$(CXX) -o ldapattrtest ldapattrtest.cpp $(CXXFLAGS) $(LDFLAGS) -L. -lldap50 -lpthread -ltdldap -lgstring -lbindata -I.
$(CXX) -o ldapentrytest ldapentrytest.cpp $(CXXFLAGS) $(LDFLAGS) -L. -lldap50 -lpthread -ltdldap -lgstring -lbindata -I.
$(CXX) -g -o test test.cpp $(CXXFLAGS) $(LDFLAGS) -L. -lldap50 -lpthread -ltdldap -lgstring -lbindata -I.

$(PROGS): % : %.cpp

$(CXX) -g -c -shared -Wall -fpic -g $@.cpp $(CXXFLAGS) $(LDFLAGS)

.PHONY: submake

clean:
rm -f *.o
rm -f $(LIBNAME).so
rm -f $(LIBNAME).a
rm -f ldapattrtest ldapentrytest test
...全文
270 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenyzzu 2009-07-01
  • 打赏
  • 举报
回复
谢谢各位,也谢谢楼上。找到该链接库了。

主要是动态链接库的路径不对,谢谢!
threeleafzerg007 2009-07-01
  • 打赏
  • 举报
回复
ldd 一下你的程序就知道 缺啥包了

如ls所说的 你缺少 一个ldap的库

应该有很多下载的
playmud 2009-07-01
  • 打赏
  • 举报
回复
lldap50 是一个库:libldap50.so
mengjfu 2009-07-01
  • 打赏
  • 举报
回复
ldap好像是一种什么协议,你确认你已经安装并指向其默认路径

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧