• 主页
  • 系统维护与使用
  • 应用程序开发
  • 内核源代码
  • 驱动程序开发
  • CPU和硬件区
  • UNIX文化
  • Solaris
  • Power Linux
DoDoMouse 软件工程师  2014年02月10日
关于dlopen的问题
我弄了一个简单的测试程序,想试试linux下调用so文件,程序很简单:
在eclipse下新建2个工程,一个工程输出so包,编译的时候也加了-ldl,要输出的函数(就是一个print函数,打印一些信息)外面也包了extern "C".
编译出来的包通过nm和ldd查看均完好。
另外一个工程调用该包里面的print函数,我使用了dlopen去打开那个so文件,发现返回的handle始终是0.不管采用绝对路径也好,还是项目属性里面指定library path,都不行。

我网上搜了一下,发现把so包放到/usr/lib下居然就可以了,不知道为什么。

请教整个事情的真相,谢谢!
...全文
188 点赞 收藏 16
写回复
16 条回复

还没有回复,快来抢沙发~

发动态
发帖子
Linux/Unix社区
创建于2007-08-27

7029

社区成员

7.3w+

社区内容

Linux/Unix社区 应用程序开发区
社区公告
暂无公告