在TX2上配置ORB-SLAM2错误总结

Pangolin

错误描述

/usr/lib/gcc/aarch64-linux-gnu/5/…/…/…/aarch64-linux-gnu/libGL.so: undefined reference to `drmFreeDevice’
……

解决方法

cd /usr/lib/aarch64-linux-gnu
sudo cp tegra/libEGL.so libEGL.so
sudo cp tegra-egl/libEGL.so libEGL.so

g20 & eigen3

https://www.cnblogs.com/shishiteng/p/5799406.html

boost_system and boost_filesystem

错误描述

/usr/bin/ld: CMakeFiles/Mono.dir/src/ros_mono.cc.o: undefined reference to symbol ‘_ZN5boost6system15system_categoryEv’
/usr/lib/aarch64-linux-gnu/libboost_system.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/Mono.dir/build.make:212: recipe for target ‘…/Mono’ failed
make[2]: *** […/Mono] Error 1
CMakeFiles/Makefile2:709: recipe for target ‘CMakeFiles/Mono.dir/all’ failed
make[1]: *** [CMakeFiles/Mono.dir/all] Error 2
Makefile:127: recipe for target ‘all’ failed
make: *** [all] Error 2

解决方法
打开CMakeLists.txt,修改为:

target_link_libraries(Mono
${LIBS} 
boost_system 
boost_filesystem
)

内存溢出

可能是TX2的Arm处理器或RAM性能有限,最好使用make -j1编译程序。

总结

TX2有点特殊,在x86平台上没有遇到以上错误。
今天重新配置,第二次遇到这些错误,但是第一次解决时没有记录,导致这次浪费了很多时间,尤其是第一个错误,百度搜索没有特别适用的方案。
所以,以后不要嫌麻烦,也不要觉得自己记性好,必须记录下来,利人利己。

你可能感兴趣的:(SLAM)