编译helix client时遇到的奇怪问题(找不到X11的库,实际已安装)

C、C++和Java语言
回复
fireforge
帖子: 1
注册时间: 2006-08-28 14:48
送出感谢: 0
接收感谢: 0

编译helix client时遇到的奇怪问题(找不到X11的库,实际已安装)

#1

帖子 fireforge » 2006-08-28 15:37

最近在编译helix client时,出现这样的提示:cannot find -lX11
以下是我机器的状况
1 ubuntu5.10(似乎是这个^_^),已安装libx11-dev
2 找不到/etc/ld.so.conf ,只有ld.so.cache
3 执行ldconfig -p,可以找到如下两条
libX11.so.6 (libc6) => /usr/lib/libX11.so.6
libX11.so (libc6) => /usr/lib/libX11.so
想向各位讨教以下几个问题:
1 使用参数-lX11究竟需要调用哪几个库文件?
2 ubuntu为何没有/etc/ld.so.conf? 是否可以手工添加?
3 如何手工添加-lX11的搜索路径?


---------------分割线-------------------
这个帖子写了两遍,第一遍写完的时候不小心按了ESC键(使用vi的习惯。。),然后所写的内容就全部消失了。。。。不知道管理员可否改进这一点
头像
feeling
帖子: 175
注册时间: 2006-04-29 20:10
来自: 北京·昌平
送出感谢: 0
接收感谢: 0
联系:

Re: 编译helix client时遇到的奇怪问题(找不到X11的库,实际已安装)

#2

帖子 feeling » 2006-09-21 14:19

fireforge 写了:最近在编译helix client时,出现这样的提示:cannot find -lX11
以下是我机器的状况
1 ubuntu5.10(似乎是这个^_^),已安装libx11-dev
2 找不到/etc/ld.so.conf ,只有ld.so.cache
3 执行ldconfig -p,可以找到如下两条
libX11.so.6 (libc6) => /usr/lib/libX11.so.6
libX11.so (libc6) => /usr/lib/libX11.so
想向各位讨教以下几个问题:
1 使用参数-lX11究竟需要调用哪几个库文件?
2 ubuntu为何没有/etc/ld.so.conf? 是否可以手工添加?
3 如何手工添加-lX11的搜索路径?
1. -l 参数用于告诉编译器你要链接的共享库信息,一般来说需要调用的就是你指定的库文件,不过如果该文件还需要其他库文件的话,在运行期还需要知道相关库文件的路径信息;
如:
ldd /usr/lib/libX11.so.6.2.0
linux-gate.so.1 => (0xffffe000)
libXau.so.6 => /usr/lib/libXau.so.6 (0xb7e3e000)
libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7e3b000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7d0c000)
/lib/ld-linux.so.2 (0x80000000)

2. 关于so的配置,linux下面都用配置文件 /etc/ld.so.conf
如果你的机器没有的话,手工创建一个即可,然后把你需要的库路径添加进去即可。

3. 尝试设置一下SHELL环境变量LD_LIBRARY_PATH
如: export LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):/usr/X11R6/lib
fireforge 写了: ---------------分割线-------------------
这个帖子写了两遍,第一遍写完的时候不小心按了ESC键(使用vi的习惯。。),然后所写的内容就全部消失了。。。。不知道管理员可否改进这一点
呵呵,这个应该是页面编辑框的问题,以后小心就是了。
人生若只如初见,何事秋风悲画扇?
回复

回到 “C/C++/Java”