介绍
MRPT(Mobile Robot Programming Toolkit,移动机器人编程工具箱) 在SLAM应用中常常使用。
本人基于Ubuntu环境,在安装过程中遇到了Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process问题。经查询在GitHub上也有同仁遇到相应问题。前人讨论了自己的解决方法,但细节尚不完整。
问题原因
本人通过尝试,发现原因是OpenCV、wxWidgets两个依赖库的版本不一致,从而导致MRPT安装过程中出现版本冲突。
解决方法
1、libgtk-3-dev安装
首先,执行sudo apt-get install libgtk-3-dev,实现系统支持gtk3。
2、OpenCV编译支持GTK 3
其次,OpenCV安装需支持gtk3。在CMake-gui中增加并勾选WITH_GTK_3_X,同时取消默认勾选的WITH_GTK_2_X。完成后进行make编译即可。
3、wxWidgets编译支持GTK 3
然后,wxWidgets安装也选中支持gtk3。在命令行先执行sudo update-alternatives --config wx-config,选中gtk3-unicode-3.0,再进行cmake编译。
4、MRPT重新编译
最后,重新编译MRPT库。