LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1070|回复: 4

error while loading shared libraries:错误

[复制链接]
发表于 2006-11-5 17:42:02 | 显示全部楼层 |阅读模式
我写了个程序,Makefile文件如下,该程序需要安装osip协议栈,而且我也安装了。
jnsip:
        gcc main.c process.c udp.c register.c MD5.c db.c aut.c -I /usr/include/mysql -I /usr/local/include/osipparser2 -L /usr/local/lib -losipparser2 -L /usr/lib/mysql -lmysqlclient -lpthread -o jnsip
程序编译没有出现任何问题,生成可执行文件jnsip,但是./jnsipd时,出现了如下错误:
[root@FC2 jn_osip_526]# ./jnsip
./jnsip: error while loading shared libraries: libosipparser2.so.3: cannot open shared object file: No such file or directory
但是我去了/usr/local/lib下查看了一下确实有libosipparser2.so.3文件啊:
[root@FC2 lib]# ls
libortp.a   libortp.so    libortp.so.0.0.0  libosip2.la  libosip2.so.3      libosipparser2.a   libosipparser2.so    libosipparser2.so.3.0.0
libortp.la  libortp.so.0  libosip2.a        libosip2.so  libosip2.so.3.0.0  libosipparser2.la  libosipparser2.so.3  pkgconfig
不知道问题出现在哪里,还请高手们指教啊!不胜感谢!
发表于 2006-11-5 19:57:52 | 显示全部楼层
我想恐怕要全路径
回复 支持 反对

使用道具 举报

发表于 2006-11-5 20:46:33 | 显示全部楼层
ldconfig及其配置文件ld.so.conf文件的问题。
在ld.so.conf文件增加一行/usr/local/lib
然后运行ldconfig
回复 支持 反对

使用道具 举报

发表于 2006-11-5 21:45:51 | 显示全部楼层
/usr/local/lib下的库,需要声明LD_LIBRARY_PATH ,或按楼上那样做。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-8 11:02:13 | 显示全部楼层

我重新将osip安装到/usr/下就可以了,然后将Makefile文件修改一下,就可以了!

但不知道为什么这样就可以了难道默认的lib就是放在/usr/下的吗?还是因为其他的原因啊?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表