代码如下:
g_dynamicHandle= dlopen("libcalcDistance.so", RTLD_NOW);
if (nullptr == g_dynamicHandle)
{
std::cout << "load so failed." << std::endl;
return;
}
然后再执行的时候就一直提示load so failed
。这里仅以一般的原因来说明这个问题。一般而言,原因 都是默认的路径找不到这个文件,所以这种情况下一般的做法就是可以在当前目录下执行
export LD_LIBRARY_PATH=./
即把库的加载路径设置为当前目录。同时,查看该变量的命令如下:
echo $LD_LIBRARY_PATH