首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在将应用程序复制到另一台计算机,找不到共享库

正在将应用程序复制到另一台计算机,找不到共享库
EN

Stack Overflow用户
提问于 2010-08-26 17:15:34
回答 1查看 888关注 0票数 1

gcc 4.4.3 c89 linux

我正在使用log4c,并将inc和lib放在以下目录中

代码语言:javascript
复制
/home/jeff/projects/gateway/tools/log4c/inc
/home/jeff/projects/gateway/tools/log4c/lib

在我的Makefile中,我指定了inc和lib路径:

代码语言:javascript
复制
INC_PATH = -I tools/log4c/inc
LIB_PATH = -L tools/log4c/lib
LIBS = -llog4c

在我的lib目录中,我有以下共享库:

代码语言:javascript
复制
lrwxrwxrwx 1 root root     17 2010-08-26 15:57liblog4c.so -> liblog4c.so.3.1.0
lrwxrwxrwx 1 root root     17 2010-08-26 15:57 liblog4c.so.3 -> liblog4c.so.3.1.0
-rw-r--r-- 1 root root 100180 2010-08-26 15:55 liblog4c.so.3.1.0

我在开发机器上编译应用程序,然后将二进制文件和工具目录复制到测试机器上

因此,当我在测试机器上执行二进制代码时,我得到了以下错误:

代码语言:javascript
复制
./app: error while loading shared libraries: liblog4c.so.3: cannot open shared object file: No such file or directory

然而,在我的开发机器上一切工作正常,它具有相同的目录结构,即

开发机器:

代码语言:javascript
复制
/projects/gateway/app
/projects/gateway/tools/log4c/inc
/projects/gateway/tools/log4c/lib

测试机器:

代码语言:javascript
复制
/projects/gateway/app
/projects/gateway/tools/log4c/inc
/projects/gateway/tools/log4c/lib

所以我想知道为什么它找不到共享库。

非常感谢您的建议,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-26 17:22:18

应该将/projects/gateway/tools/log4c/lib放入/etc/ld.so.conf (之后调用/sbin/ldconfig )或LD_LIBRARY_PATH外壳变量,以便动态链接器知道在何处搜索所需的共享库。

请参阅Program Library HOWTO (3.5 )。安装和使用共享库)了解更多信息

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3573679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档