例如程序通过dlopen加载
当前目录下的lib.so。
代码如下:
void * lib_ptr = dlopen("lib.so",RTLD_NOW);
if(lib_ptr == NULL)
{
printf("%s\n",dlerror());
}
dlerror()返回的错误是" No such file or directory ", 动态库打开失败!
排错:
①首先确保文件路径没有错误,相对路径是以可执行文件所在的目录位置为基准!!!
②如果确认路径填写没有问题,则可以在当前目录下执行"export LD_LIBRARY_PATH=./ "命令,即把库的加载路径设置为当前目录。。。
注意:本用例的 可执行文件 和 动态库文件lib.so 是在同一个文件中,其它情况需灵活处理。