当前位置:  技术问答>linux和unix

为什么编出的动态库不能使用?

    来源: 互联网  发布时间:2017-03-22

    本文导语:  我使用是ubuntu 10.10,使用   gcc -fPIC -c my_func.c   gcc -shared -o libmylib.so my_func.o 生成了libmylib.so,在同一目录下,我又写了一个测试代码,就是调用动态库中定义的一个函数,结果运行时总是提示:        “ca...

我使用是ubuntu 10.10,使用
  gcc -fPIC -c my_func.c
  gcc -shared -o libmylib.so my_func.o
生成了libmylib.so,在同一目录下,我又写了一个测试代码,就是调用动态库中定义的一个函数,结果运行时总是提示:
       “cannot open shared object file: no such file or directory”
奇怪,明明有这个共享库文件,为什么还提示不在呢?

|
楼主是对程序运行时,链接动态库的过程不清楚。
请搜索ld.so.conf和LD_LIBRARY_PATH

放么把so文件放到/usr/lib,/usr/local/lib,/lib中
要么设置LD_LIBRARY_PATH为你的so放的位置
要么设置ld.so.conf添加上你的so放的位置

|
.so放置的在哪个目录下? 你是如何调用的dlopen还是-l链接?

|
如果不会设置path
那么就使用-Wl,rpath的链接开关

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3