【error】libGL.so: undefined reference to `drmGetDevices2'

前言

在TX2上测试姿态估计并显示的代码时出现了问题,代码使用了dlib和PCL开源库,在NVIDIA官网上看到了解决方法,记录下来。

error

[100%] Linking CXX executable head_pose_estimation
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmGetDevices2'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmCloseOnce'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmMap'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmUnmap'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmFreeDevice'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmGetDeviceNameFromFd2'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmOpenOnce'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmGetDevice2'
/usr/lib/gcc/aarch64-linux-gnu/5/../../../aarch64-linux-gnu/libGL.so: undefined reference to `drmFreeDevices'
collect2: error: ld returned 1 exit status
CMakeFiles/head_pose_estimation.dir/build.make:396: recipe for target 'head_pose_estimation' failed
make[2]: *** [head_pose_estimation] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/head_pose_estimation.dir/all' failed
make[1]: *** [CMakeFiles/head_pose_estimation.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

solution

cd /usr/lib/aarch64-linux-gnu/
sudo ln -sf tegra/libGL.so libGL.so

参考

1. nvidia_building-opencv-with-opengl-support;

猜你喜欢

转载自www.cnblogs.com/happyamyhope/p/12200606.html