You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CLion配置STM32嵌入式开发时头文件路径找不到的解决方法

解决CLion中STM32编译报错:stm32f10x_conf.h找不到

可能的原因及解决步骤

1. 确认stm32f10x_conf.h文件是否存在

  • 先在项目目录全局搜索该文件,若找不到,说明缺少标准库配置文件:
    • 从STM32F1xx标准库(STM32F1xx_StdPeriph_Lib)的Libraries/STM32F10x_StdPeriph_Driver/inc目录下复制stm32f10x_conf.h到项目中(比如放到Library/Inc或User/Inc目录)。
    • 若没有标准库,可从ST官网下载对应型号的标准库包。

2. 修正头文件包含路径

  • 报错显示头文件路径为start/inc/stm32f10x.h,但你的CMake配置里写的是Start/Inc,虽然Windows文件系统大小写不敏感,但CMake可能存在识别偏差,建议统一路径大小写:
    include_directories(Library/Inc start/inc System/Inc User/Inc)
    
  • 如果stm32f10x_conf.h放在子目录(比如Library/Inc/conf),需要将该子目录也加入include路径。

3. 排查库类型冲突

  • 你在CMake中定义了-DUSE_HAL_DRIVER(HAL库编译宏),但报错里的stm32f10x.h是标准库头文件,两者属于不同驱动库,混合使用会导致冲突:
    • 若用标准库:删除add_definitions(-DUSE_HAL_DRIVER -DSTM32F103xB)中的-DUSE_HAL_DRIVER,改用标准库对应宏(比如-DSTM32F10X_MD,匹配F103C8中密度型号)。
    • 若用HAL库:把main.c里的#include "stm32f10x.h"替换为#include "stm32f1xx.h",确保项目中有HAL库配置文件stm32f1xx_hal_conf.h,且其所在目录已加入include_directories。

4. 验证编译搜索路径

  • 在CLion中右键项目根目录,选择Reload CMake Project,查看CMakeCache.txt里的CMAKE_C_INCLUDE_PATH条目,确认所有需要的头文件目录已正确添加。
  • 或在add_compile_options中加入-v参数,重新编译后查看编译器输出的头文件搜索路径,检查是否包含stm32f10x_conf.h所在目录。

额外提示

  • 尽量避免混用HAL库和标准库,二选一即可;HAL库是ST主推的新版本,标准库已停止维护。
  • 对照参考教程确认其使用的库类型,保证项目文件与配置一致。

内容的提问来源于stack exchange,提问作者BruceZhang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:31:27