使用共享库的问题(linux)

sunkylix 2002-07-23 08:55:16
red hat linux下
编译了一个程序,用到了自己的共享库。
运行程序时提示找不到共享库。
./testmain: error while loading shared libraries: libCpPosix.so: cannot load shared object file: No such file or directory

请问如何设置环境变量,使程序正常运行。

...全文
31 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
albertini1978 2002-07-23
  • 打赏
  • 举报
回复
LD_LIBRARY_PATH
sunkylix 2002-07-23
  • 打赏
  • 举报
回复
我明白了.
LD_LIBRARY_PATH=/XXX/XXX/
export LD_LIBRARY_PATH
huangwu007 2002-07-23
  • 打赏
  • 举报
回复
“请问共享库是怎么编译的?”
生成目标文件
gcc -fPIC -g -c a.c -o a.o
链接库
gcc -g -shared -WI,-soname,a.so.1.0.0 a.o -lc
huangwu007 2002-07-23
  • 打赏
  • 举报
回复
“请问共享库是怎么编译的?”
生成目标文件
gcc -fPIC -g -c a.c -o a.o
链接库
gcc -g -shared -WI,-soname,a.so.1.0.0 a.o -lc
huangwu007 2002-07-23
  • 打赏
  • 举报
回复
将库路径添加到/etc/ld.so.conf,然后以root的身份运行ldconfig来更新高速缓冲区
或者
将库放到/usr/lib,建立一个到soname的链接,然后以root的身份运行ldconfig来更新高速缓冲区
whoke 2002-07-23
  • 打赏
  • 举报
回复
关注!
请问共享库是怎么编译的?
huangwu007 2002-07-23
  • 打赏
  • 举报
回复
将库路径添加到/etc/ld.so.conf,然后用root身份运行ldconfig更新高速缓冲区
或者
把库放到/usr/lib,建立一个到soname的连接,然后用root身份运行ldconfig更新高速缓冲区
 本课程的主题是: 透析Linux系统编程    不同于市面上的课程,只会把核心主题放到函数的讲解,本课程的核心主题是 Linux系统编程的经验总结 ;    当你在系统编程中,调用一个系统调用来解决问题时,是否考虑过 该系统调用是否会对系统性能带来影响?是否还有最优的方式?    当你在系统编程过程中,遇到问题,是否只是检查代码逻辑,而不会去深入底层去查找问题 ?    本课程将一一解决系统编程带给你的难点,疑点?    比如控制文件IO章节,给出系统文件操作的默认行为,应用中如何修改这些行为,给出文件IO操作的最优方式;   比如系统调用,给出系统调用原理;系统调用的正确使用方式等   比如进程实现,结合底层,对比线程,深入理解两者;给出进程使用经验总结;   比如线程同步,不仅引出互斥锁 条件变量 自旋锁 读写锁使用方式,同时给出各个机制的应用场景 ;   比如 进程间通信,引出各个进程间通信的机制原理,给出各个进程间通信的应用场景;   比如 信号,给出信号在进程中信号处理处理函数的正确使用方式,给出在多线程中信号处理的正确方式;   比如 共享,给出共享的实现机制,给出共享的正确使用方式;   同时 会讲解 系统安全问题 ; 可执行程序的静态布局和动态布局 ;灵活使用内存映射和虚拟内存;系统事件跟踪;   给出程序性能的调优思路;    丰富的项目实例讲解 ,提供宝贵的商业项目开发经验 ; 

69,377

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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