在opencv4编译的过程中,有时会出现/usr/lib/x86_64-linux-gnu/libapr-1.so.0: undefined reference to `uuid_generate@UUID_1.0’的错误。
查看一下版本: ls -l /usr/lib/x86_64-linux-gnu/libuuid.so
进入anaconda:cd anaconda3/lib/
删除原有的:rm libuuid.so.1
按自己版本进行连接:ln -s /usr/lib/x86_64-linux-gnu/libuuid.so.1.3.0 libuuid.so.1
总结
其实这类原因都是由于anaconda的兼容问题引起的,opencv编译出现这种错误均可用该套路解决。
第一步,安装locate( locate 是一个查找系统文件的指令)
sudo apt-get install mlocate
第二步
locate libfontconfig.so
第三步,对比 anaconda3/lib/和 /usr/lib/x86_64-linux-gnu/ 相应得库 是否 版本对应 ,如果不对应,则进行如下修改(我这个地方改完了,才来记录的,大家不要介意哈)
cd anaconda3/lib/
rm libgio-2.0.so.0
ln -s /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.6400.6 libgio-2.0.so.0