码迷,mamicode.com
首页 > 系统相关 > 详细

在Linux下编译生成动态库*.so后发现用dlopen打开时出错解决办法

时间:2015-12-21 18:00:45      阅读:471      评论:0      收藏:0      [点我收藏+]

标签:

Linux下有时候编译的源文件可能有语法错误,但是很多时候还是能生成动态库,这个时候,用dlopen打开时就没有办法返回句柄,导致能生成动态库,却无法打开,这个时候最好的办法是不用dlopen动态调用的方法,而是使用静态调用的方法。

 

1、在测试文件中加上静态调用需要的头文件,同时将此头文件放在与测试文件同一个目录下,以便测试文件能够找到该头文件

2、将生成的库定位输出到/usr/lib(如果是64位系统,则是在/usr/lib64)文件夹中

3、编译时参考我的代码, gcc main.c -L. -lisucard -o mainmain.c是测试代码,生成的库名字叫libisucaed.so

4、这个时候如果库有问题,编译测试文件的时候就会报错,这个时候根据报错的地方修改就可以了,这样就能定位到哪里有问题。当把错误修改完成后,就能得到你要的东西了。

在Linux下编译生成动态库*.so后发现用dlopen打开时出错解决办法

标签:

原文地址:http://www.cnblogs.com/qlmdl20/p/5063840.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!