使用dlopen返回0,且dlerror也没有任何信息,求助

guolisen 2012-12-23 01:21:37
使用dlopen返回0,且dlerror也没有任何信息,求助

我想将zeromq的代码编到我自己的so文件中,并且-lpthread -luuid ,编译成功,但是在主程序里面dlopen(lazy和now都试了),返回空handle且dlerror也不返回任何信息,请问这个问题怎么查找啊,谢
我确定文件名和路径是正确的
...全文
545 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
guolisen 2012-12-23
  • 打赏
  • 举报
回复
终于明白了。。。。。没怎么弄过linux的东西,把so放到/usr/lib就好了,原来linux运行程序是这个原理。。。
guolisen 2012-12-23
  • 打赏
  • 举报
回复
引用 1 楼 qq120848369 的回复:
没有任何信息是什么情况.
确定是我编的so文件中还缺少其他库函数,导致dlopen的时候找不到,但是我连接的都是静态库啊,为啥还要对应的so库文件?例如我连接了mysqlclient.a可是我将mysqlclient.so文件考到可执行文件中才能运行?
guolisen 2012-12-23
  • 打赏
  • 举报
回复
解决了,环境有点复杂,zmq的源码我放到静态库里连接到so文件的,貌似在静态库编译的时候加上-fPIC就好了,不知道是不是这样。但是现在另一个so,里面使用mysql的connector静态库的又出现这个问题。。。我用的eclipse在linux下建工程编译的
引用 1 楼 qq120848369 的回复:
没有任何信息是什么情况.
qq120848369 2012-12-23
  • 打赏
  • 举报
回复
没有任何信息是什么情况.

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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