编译cartographer时glog链接出错

博主在尝试使用`catkin_make_isolated --install --use-ninja`命令编译时遇到错误,发现是系统中已安装的glog库与Cartographer自带的glog版本冲突。为了解决这个问题,博主选择删除自安装的glog,并通过卸载`libgoogle-glog-dev`来避免冲突。在完成Cartographer的安装后,如需再次使用glog,只需重新编译并安装即可。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

catkin_make_isolated --install --use-ninja

用这个指令编译的时候,报错

对‘google::LogMessage::LogMessage(char const*, int, int, unsigned long, void ........

往上翻一点发现一个CMake 的Warnning:

runtime library [libglog.so.0] in /usr/lib/x86_64-linux-gnu may be hidden by file in /usr/local/lib

猜测是我原先安装的glog和cartographer自带的(或自己下的)glog冲突了。

我本来想在cartographer的CMakeLists中指定使用的glog库,但好像不太行orz。不知道是哪里有问题,所以我就把我自己安装的glog删了。

sudo rm -rf /usr/local/lib/libglog*
sudo rm -rf /usr/include/glog

如果使用apt-get安装的话就是

sudo apt-get remove libgoogle-glog-dev

先安装完cartographer再说:)

至于以后如果还需要用glog的时候,只需要重新sudo make install一下即可。

### Cartographer 编译教程与安装配置指南 #### 一、环境准备 为了成功编译和运行Cartographer,在Ubuntu 16.04 LTS上推荐使用ROS Kinetic版本。确保已经正确设置了ROS的工作环境并更新到最新状态[^3]。 #### 二、依赖项安装 在开始之前,先要安装必要的软件包和其他依赖关系。这可以通过执行以下命令完成: ```bash sudo apt-get update && sudo apt-get install -y \ ros-kinetic-robot-state-publisher \ ros-kinetic-tf2-geometry-msgs \ ros-kinetic-tf2-sensor-msgs \ ros-kinetic-laser-geometry \ ros-kinetic-pointcloud-to-laserscan ``` 上述操作会下载并安装一系列对于构建地图至关重要的工具库和支持文件[^2]。 #### 三、获取源码 通过Git克隆Google Cartographer仓库至本地计算机,并切换至指定分支或标签以获得稳定版代码。具体做法如下所示: ```bash cd ~/catkin_ws/src/ git clone https://github.com/googlecartographer/cartographer.git git clone https://github.com/googlecartographer/ros_integration.git cartographer_ros ``` 这里`ros_integration`项目包含了使Cartographer能够无缝对接ROS系统的适配层以及示例程序[^1]。 #### 四、编译过程 进入Catkin工作空间根目录后,利用Catkin工具链来进行整个项目的编译处理。注意在此之前可能还需要额外设置一些路径变量以便顺利完成链接步骤。 ```bash cd ~/catkin_ws catkin_make_isolated --install --use-ninja source devel_isolated/setup.bash ``` 此阶段可能会花费一定间视乎机器性能而定;期间如果有任何错误提示,则需按照指示解决相应问题后再继续尝试重新编译直至完全无误为止。 #### 五、验证安装成果 最后一步就是测试新安装好的Cartographer能否正常运作。可以加载预设的地图数据集或者启动自带的小乌龟模拟器来检验效果。 ```bash roslaunch cartographer_turtlebot demo_backpack_2d.launch ``` 以上指令将会开启一个图形界面窗口展示实绘制出来的二维平面图景,证明一切运转良好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值