ORBSLAM3编译错误/usr/lib/x86_64-linux-gnu/libgdcmMSFF.so.2.8:对‘uuid_generate@UUID_1.0’未定义的引用

编译ORBSLAM3时发生如下错误:

ORBSLAM3编译错误/usr/lib/x86_64-linux-gnu/libgdcmMSFF.so.2.8:对‘uuid_generate@UUID_1.0’未定义的引用_第1张图片说明动态库/usr/lib/x86_64-linux-gnu/libgdcmMSFF.so.2.8 对 uuid的相关内容没有定义.
是动态库libgdcmMSFF.so.2.8找不到与uuid相关的依赖.

使用ldd 命令来查看libgdcmMSFF.so.2.8与uuid相关的依赖情况

ldd /usr/lib/x86_64-linux-gnu/libgdcmMSFF.so.2.8|grep uuid

输出如下:
在这里插入图片描述说明 libgdcmMSFF.so.2.8 依赖的libuuid.so.1 位于 /lib/x86_64-linux-gnu/libuuid.so.1

对libuuid.so.1进行定位

ORBSLAM3编译错误/usr/lib/x86_64-linux-gnu/libgdcmMSFF.so.2.8:对‘uuid_generate@UUID_1.0’未定义的引用_第2张图片系统中有多个libuuid.so.1, libgdcmMSFF.so.2.8 应该是找到anaconda环境中的libuuid.so.1才发生错误的.

直接在CMakeList.txt 中添加依赖的路径

ORBSLAM3编译错误/usr/lib/x86_64-linux-gnu/libgdcmMSFF.so.2.8:对‘uuid_generate@UUID_1.0’未定义的引用_第3张图片这样libgdcmMSFF.so.2.8在找libuuid.so.1时就不会找到anaconda那了.

你可能感兴趣的:(slam,linux)