免费注册 查看新帖 |

Chinaunix

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

编译的一个问题。大家帮忙看看吧。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-31 21:29 |只看该作者 |倒序浏览
在FREEBSD6.1下编译ICE
报错:

  1. c++  -ftemplate-depth-128 -Wall -D_REENTRANT -D_THREAD_SAFE -g -L../../lib -o ../../bin/icegridnode Internal.o DescriptorParser.o DescriptorBuilder.o TraceLevels.o NodeI.o ServerI.o ServerAdapterI.o Activator.o PlatformInfo.o RegistryI.o InternalRegistryI.o StringApplicationDescriptorDict.o IdentityObjectInfoDict.o StringAdapterInfoDict.o Database.o Allocatable.o AdapterCache.o ObjectCache.o AllocatableObjectCache.o ServerCache.o NodeCache.o LocatorI.o LocatorRegistryI.o AdminI.o Util.o DescriptorHelper.o NodeSessionI.o ReapThread.o SessionI.o AdminSessionI.o SessionServantLocatorI.o Topics.o QueryI.o WaitQueue.o FileUserAccountMapperI.o  IceGridNode.o -lIceGrid -lIceStormService -lIceBox -lGlacier2 -lIcePatch2 \
  2. -lFreeze  -lIceXML -lIceSSL -L/usr/local/ssl/lib -lssl -lcrypto -lIce -lIceUtil -lc_r
  3. /usr/bin/ld: warning: libdb_cxx-4.3.so, needed by ../../lib/libFreeze.so, not found (try using -rpath or -rpath-link)
复制代码

论坛徽章:
0
2 [报告]
发表于 2006-10-31 21:39 |只看该作者
错误的原因是
引用libFreeze.so这个库。但是这个库又需要libdb_cxx-4.3.so这个库。
但是libFreeze.so这个库是编译成功的。
我的LD_LIBRARY_PATH是包含libdb_cxx-4.3.so这个库的所在路径的。
所以我不知道这究竟是怎么回事?

论坛徽章:
0
3 [报告]
发表于 2006-10-31 22:20 |只看该作者
有没有知道的么?
up

。。。。。。。。。。。。。。。。。。。。。。。。。。。。

论坛徽章:
0
4 [报告]
发表于 2006-11-01 09:14 |只看该作者
up..............

论坛徽章:
0
5 [报告]
发表于 2006-11-01 09:18 |只看该作者
不清楚,顶一下,你ldconfig一下试试

论坛徽章:
0
6 [报告]
发表于 2006-11-01 09:44 |只看该作者
我把libdb_cxx-4.3.so这个库考到/usr/lib下就可以编译通过了。。。
我真。。。。


难道我设定的LD_LIBRARY_PATH没有起作用么?

论坛徽章:
0
7 [报告]
发表于 2006-11-01 11:44 |只看该作者
up。。。。。。。。。。。。。。。。。

论坛徽章:
0
8 [报告]
发表于 2006-11-01 12:34 |只看该作者
原帖由 MackedNice 于 2006-10-31 17:44 发表
我把libdb_cxx-4.3.so这个库考到/usr/lib下就可以编译通过了。。。
我真。。。。


难道我设定的LD_LIBRARY_PATH没有起作用么?


LD_LIBRARY_PATH是运行时加载动态库时候的搜索路径,而在连接时候需要用-L把这个库所在的路径加上,不然连接器会找不到这个库而不能生成可执行文件。

论坛徽章:
0
9 [报告]
发表于 2006-11-01 13:11 |只看该作者
原帖由 emacsnw 于 2006-11-1 12:34 发表


LD_LIBRARY_PATH是运行时加载动态库时候的搜索路径,而在连接时候需要用-L把这个库所在的路径加上,不然连接器会找不到这个库而不能生成可执行文件。

错误的原因是
引用libFreeze.so这个库。但是这个库又需要libdb_cxx-4.3.so这个库。
但是libFreeze.so这个库是编译成功的。
我的LD_LIBRARY_PATH是包含libdb_cxx-4.3.so这个库的所在路径的。

-----------------------------------------------------------------------------------------------------
我在编译libFreeze.so这个库时,是用-L把这个库所在的路径加上的。不然也不可能编译出来的。
但是上面的这个编译是没引用libdb_cxx-4.3.so的,而是引用了libFreeze.so。错误提示:libFreeze.so需要
libdb_cxx-4.3.so

论坛徽章:
0
10 [报告]
发表于 2006-11-01 13:46 |只看该作者
你用的是什么SHELL
BASH的话,用export
csh的话,用setenv,
你确定你对LD_LIBRARY_PATH进行正确的设置了吗?
用echo 检查一下.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP