在 WSL 中安装 OpenCode 完整教程(自己边安装边写的)
2026/6/25 15:31:56
解释 CMake 如何找到driver_ecspi_MIMX8ML8.cmake:
[2 tools called]
CMake 的include()通过CMAKE_MODULE_PATH查找文件。工作原理如下:
include()的查找机制当执行include(driver_ecspi_MIMX8ML8)时,CMake 按以下顺序查找:
如果文件名包含路径分隔符(/或\),直接使用该路径
include(boards/armgcc/flags.cmake) # 直接使用相对路径如果文件名不包含路径分隔符,在CMAKE_MODULE_PATH中搜索
include(driver_ecspi_MIMX8ML8) # 在 CMAKE_MODULE_PATH 中搜索查看你的CMakeLists.txt:
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/SDK/devices/MIMX8ML8/utilities/debug_console_lite ${CMAKE_CURRENT_SOURCE_DIR}/SDK/devices/MIMX8ML8/drivers ${CMAKE_CURRENT_SOURCE_DIR}/SDK/devices/MIMX8ML8 ${CMAKE_CURRENT_SOURCE_DIR}/SDK/components/uart ${CMAKE_CURRENT_SOURCE_DIR}/SDK/components/lists ${CMAKE_CURRENT_SOURCE_DIR}/SDK/CMSIS/Core/Include ${CMAKE_CURRENT_SOURCE_DIR}/SDK/devices/MIMX8ML8/utilities )当执行include(driver_ecspi_MIMX8ML8)时,CMake 会:
SDK/devices/MIMX8ML8/utilities/debug_console_lite/driver_ecspi_MIMX8ML8.cmake(未找到)SDK/devices/MIMX8ML8/drivers/driver_ecspi_MIMX8ML8.cmake(找到)方式一:使用 CMAKE_MODULE_PATH(推荐)
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/SDK/devices/MIMX8ML8/drivers ) include(driver_ecspi_MIMX8ML8) # 简洁,不需要完整路径方式二:直接指定路径
include(${CMAKE_CURRENT_SOURCE_DIR}/SDK/devices/MIMX8ML8/drivers/driver_ecspi_MIMX8ML8) # 或者 include(SDK/devices/MIMX8ML8/drivers/driver_ecspi_MIMX8ML8)include(driver_ecspi_MIMX8ML8)比完整路径更短#include <header.h>查找机制可以在 CMakeLists.txt 中添加调试信息:
# 查看 CMAKE_MODULE_PATH 的内容 message(STATUS "CMAKE_MODULE_PATH: ${CMAKE_MODULE_PATH}") # 查看实际找到的文件路径 include(driver_ecspi_MIMX8ML8) # CMake 会在找到文件时输出信息(如果文件中有 message())总结:CMAKE_MODULE_PATH相当于 CMake 的“搜索路径列表”,include()会在这些路径中查找.cmake文件,因此不需要写完整路径。