# libfranka 0.18.1构建报错找不到tinyxml2Config.cmake

> 原文链接：https://robotics.hellobike.com/pitfalls/2025-12-03-libfranka-215
> 频道：pitfalls | 更新日期：2025-12-03 | 标签：auto, github-issue, libfranka
> 核心摘要：Ubuntu 22.04编译libfranka 0.18.1因CMake无法定位tinyxml2报错，升级至0.18.2或修改CMakeLists目标名可解决。

# libfranka 0.18.1构建报错找不到tinyxml2Config.cmake

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Unable to build 0.18.1 on recommended Ubuntu 22.04](https://github.com/frankarobotics/libfranka/issues/215)（GitHub frankaemika/libfranka #215）

**状态**：已解决

## 问题

在Ubuntu 22.04按官方README编译libfranka 0.18.1时，CMake报错提示未找到tinyxml2包配置文件（tinyxml2Config.cmake或tinyxml2-config.cmake），且未在CMAKE_MODULE_PATH中提供Findtinyxml2.cmake，导致构建中断。该问题源于新版本将依赖改为静态库构建后，CMake查找目标名称变更与系统apt安装的tinyxml2不匹配。

## 环境

Ubuntu 22.04, GCC 11.4.0, CMake 3.22, libfranka 0.18.1, Boost 1.74.0, Eigen3

## 解决办法

1. 推荐方案：将libfranka升级至0.18.2及以上版本，该版本已修复tinyxml2的CMake查找配置问题。
2. 临时绕过：修改libfranka源码CMakeLists.txt第55行附近的find_package调用，将查找目标从`tinyxml2`改为`TinyXML2::TinyXML2`（与0.17.0版本一致），使CMake能正确识别系统通过apt安装的tinyxml2包。
3. 环境建议：优先使用官方提供的最新Docker容器进行开发构建，该容器内置完整依赖且支持级别最高，可避免本地环境配置差异导致的构建问题。

讨论原作者：@fspindle 等，版权归原作者所有。
:::

## 原始参考来源 (Sources)

- [GitHub frankaemika/libfranka #215：Unable to build 0.18.1 on recommended Ubuntu 22.04](https://github.com/frankarobotics/libfranka/issues/215)