标签:
在Linux下有时候编译的源文件可能有语法错误,但是很多时候还是能生成动态库,这个时候,用dlopen打开时就没有办法返回句柄,导致能生成动态库,却无法打开,这个时候最好的办法是不用dlopen动态调用的方法,而是使用静态调用的方法。
1、在测试文件中加上静态调用需要的头文件,同时将此头文件放在与测试文件同一个目录下,以便测试文件能够找到该头文件
2、将生成的库定位输出到/usr/lib(如果是64位系统,则是在/usr/lib64)文件夹中
3、编译时参考我的代码, gcc main.c -L. -lisucard -o main(main.c是测试代码,生成的库名字叫libisucaed.so)
4、这个时候如果库有问题,编译测试文件的时候就会报错,这个时候根据报错的地方修改就可以了,这样就能定位到哪里有问题。当把错误修改完成后,就能得到你要的东西了。
在Linux下编译生成动态库*.so后发现用dlopen打开时出错解决办法
标签:
原文地址:http://www.cnblogs.com/qlmdl20/p/5063840.html