VS code 使用STM32CubelDE for Visual Studio Code环境,如何配置CMakeLists.txt新增其他.C文件路径

从STM32CubeMX生成工程根目录 CMakeLists.txt 开头的注释可以明确看到:

This file is generated only once,

and is not re-generated if converter is called multiple times.

这意味着 这个文件只会由 CubeMX 在第一次生成项目时创建,后续无论你再怎么用 CubeMX 重新生成代码,它都不会被自动覆盖。

所以,你可以放心地直接修改它,完全不需要担心"重置"的问题。

在这个文件中添加外部 .c 文件的方法

你的 CMakeLists.txt 里已经为你准备好了清晰的占位区域,你只需要把外部源文件、头文件路径填入对应位置即可。

  1. 添加源文件(.c)
    找到这一段:

cmake

Add sources to executable

target_sources(${CMAKE_PROJECT_NAME} PRIVATE

Add user sources here

)

把 # Add user sources here 替换成你自己的源文件,例如:

cmake

target_sources(${CMAKE_PROJECT_NAME} PRIVATE

Add user sources here

${CMAKE_CURRENT_SOURCE_DIR}/User/sensor.c

${CMAKE_CURRENT_SOURCE_DIR}/User/motor.c

)

或者用通配符号(file(GLOB ...))一次性包含某个文件夹下所有 .c 文件:

cmake

file(GLOB USER_SOURCES "CMAKECURRENTSOURCEDIR/User/∗.c")targetsources({CMAKE_CURRENT_SOURCE_DIR}/User/*.c") target_sources(CMAKECURRENTSOURCEDIR/User/∗.c")targetsources({CMAKE_PROJECT_NAME} PRIVATE ${USER_SOURCES})

只要保证它们出现在 PRIVATE 后面的列表里就行。

  1. 添加头文件搜索路径
    找到这一段:

cmake

Add include paths

target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE

Add user defined include paths

)

把 # Add user defined include paths 替换成你自己的路径,例如:

cmake

target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE

Add user defined include paths

${CMAKE_CURRENT_SOURCE_DIR}/User

)

这样编译器就能找到 User 目录下的 .h 文件了。

  1. (可选)添加宏定义 / 库
    同样,你还可以在对应的 # Add user defined symbols 或 # Add user defined libraries 区域添加全局宏或链接额外的库。

CMakeLists.txt 文件解释

相关推荐
jghhh011 小时前
STM32F103 驱动 BMP180 气压传感器源码
stm32·单片机·嵌入式硬件
神仙别闹1 小时前
基于Python实现一个C语言的编译器
java·c语言·python
渣渣灰95871 小时前
VSCode开发环境开发Qt程序
ide·vscode·qt
鱼很腾apoc1 小时前
【学习篇】第18期 C++模板
c语言·c++
仅此,2 小时前
vscode 启动项目时,设置 PYTHONPATH 导包路径
ide·vscode·python·编辑器
weixin_421725262 小时前
Windows下C语言编译指南
c语言·visualstudio·mingw·gcc·windows编译
@Ma2 小时前
详细解读Redis作者antirez开源的ds4项目,ds4.c — DeepSeek V4 Flash 本地推理引擎(中文文档)
c语言·redis·开源
leo__52010 小时前
STM32 MAX30102 心率血氧测量代码
stm32·单片机·嵌入式硬件
yuan1999714 小时前
STM32 IAP 电量计源码
stm32·单片机·嵌入式硬件