CMake Deprecation Warning at sdk/component/CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 3.10 will be removed from a future version of CMake. 如何解决?
时间: 2025-07-01 10:04:29 浏览: 14
### 更新 `CMakeLists.txt` 以解决 CMake 版本兼容性警告
出现 **Compatibility with CMake < 3.10 will be removed** 警告的原因是当前项目的 `CMakeLists.txt` 文件中声明的最低 CMake 版本过低,不足以支持当前使用的 CMake 工具链。为了消除该警告,需要更新 `CMakeLists.txt` 中的 `cmake_minimum_required(VERSION X.Y.Z)` 声明,使其符合当前版本的兼容性要求[^1]。
#### 修改建议
将 `CMakeLists.txt` 文件中的第一行:
```cmake
cmake_minimum_required(VERSION 3.5)
```
修改为:
```cmake
cmake_minimum_required(VERSION 3.10...3.28)
```
通过这种方式,明确告知 CMake 构建系统该项目不需要与低于 3.10 的版本兼容,并且已经适配至较高版本(例如 3.28),从而避免未来版本移除旧版兼容策略带来的警告或错误[^5]。
如果项目对特定版本有严格依赖,也可以直接指定一个较新的固定版本,例如:
```cmake
cmake_minimum_required(VERSION 3.20)
```
这将确保构建过程使用的是现代 CMake 功能集,并启用更严格的策略控制[^1]。
#### 示例:完整的 `CMakeLists.txt` 修改示例
```cmake
# 原始内容
cmake_minimum_required(VERSION 3.5)
project(MyProject)
add_executable(myapp main.cpp)
# 修改后
cmake_minimum_required(VERSION 3.10...3.28)
project(MyProject)
add_executable(myapp main.cpp)
```
#### 注意事项
- 在更新 `cmake_minimum_required` 之前,应验证项目是否使用了 CMake 3.10 及以上版本的新特性,确保不会破坏现有构建流程。
- 如果项目需要跨多个开发团队或持续集成环境使用,建议选择一个稳定的中间版本范围,例如 `3.10...3.22`,以提高兼容性和可维护性[^5]。
---
阅读全文
相关推荐
















