# ROS2 Lyrical构建报GLIBCXX/CXXABI未定义引用

> 原文链接：https://robotics.hellobike.com/pitfalls/2026-07-26-robotics-se-118526
> 频道：pitfalls | 更新日期：2026-07-26 | 标签：auto, stackexchange, ros2
> 核心摘要：在 Ubuntu 26.04 上构建 ROS2 C++ 节点因 libstdc++ 符号版本不匹配失败，采纳建议为更新 gcc。

# ROS2 Lyrical构建报GLIBCXX/CXXABI未定义引用

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Unable to build due to a C++ ABI / libstdc++ symbol-version mismatch](https://robotics.stackexchange.com/questions/118526/unable-to-build-due-to-a-c-abi-libstdc-symbol-version-mismatch)（Robotics Stack Exchange #118526）

**状态**：已解决

## 问题

新增 C++ package 和节点后执行 `colcon build`，链接 `controller_package` 失败；`librclcpp.so` 报 `GLIBCXX_3.4.32`、`GLIBCXX_3.4.31`、`CXXABI_1.3.15` 相关 `undefined reference`。

## 环境

ROS2 `lyrical`，Ubuntu 26.04，非 Docker 安装；`gcc/g++` 版本为 `12.5.0`。

## 解决办法

1. 将当前 `gcc` 从 `12.5.0` 更新到 ROS2 `Lyrical` 期望的版本；采纳答案引用信息显示为 `Lyrical/15`。
2. 更新后重新执行 `colcon build`，检查该符号版本不匹配错误是否仍存在。

原问题作者：naibaf-1；采纳答案作者：Chuck。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #118526：Unable to build due to a C++ ABI / libstdc++ symbol-version mismatch](https://robotics.stackexchange.com/questions/118526/unable-to-build-due-to-a-c-abi-libstdc-symbol-version-mismatch)