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

使用TouchGFX构建STM32目标时出现头文件缺失编译错误

TouchGFX构建STM32目标时缺失HAL头文件的问题解决

问题描述

STM32CubeIDE中构建项目无报错,但使用TouchGFX构建STM32目标时出现编译错误:

CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp:28:10: fatal error: stm32h7xx_hal.h: No such file or directory
#include <stm32h7xx_hal.h>
^~~~~~~~~~~~~~~~~
compilation terminated.
gcc/makefile_cm7:503: recipe for target 'CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.o' failed
make[3]: Leaving directory 'c:/Users/Aziz/Downloads/aaaaaa/MV_Display'
make[3]: *** [CM7/TouchGFX/build/Riverdi_70STM32H7/CM7/TouchGFX/target/generated/TouchGFXGeneratedHAL.o] Error 1
make[2]: *** [generate_assets] Error 2
gcc/makefile_cm7:438: recipe for target 'generate_assets' failed
make[2]: Leaving directory 'c:/Users/Aziz/Downloads/aaaaaa/MV_Display'
Makefile_cm7:51: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory 'C:/Users/Aziz/Downloads/aaaaaa/MV_Display/gcc'
../../gcc/Makefile:10: recipe for target 'flash' failed
make: *** [flash] Error 2
Failed
Failed

解决步骤

  • 检查TouchGFX包含路径配置
    打开TouchGFX Designer,进入Project Settings -> Toolchain,确认STM32 HAL库的头文件路径(如../Core/Inc、../Drivers/STM32H7xx_HAL_Driver/Inc)已添加到包含目录,缺失则手动补充。

  • 同步CubeIDE与TouchGFX配置
    在STM32CubeIDE中点击Project -> Generate Code重新生成代码,确保HAL库文件和路径配置同步到TouchGFX项目,之后关闭并重启TouchGFX Designer刷新文件。

  • 修正Makefile包含路径
    找到项目中的gcc/makefile_cm7文件,检查CFLAGS或INCLUDE_DIRS配置,确保包含HAL库头文件目录,示例配置:

    INCLUDE_DIRS += -I../Core/Inc
    INCLUDE_DIRS += -I../Drivers/STM32H7xx_HAL_Driver/Inc
    INCLUDE_DIRS += -I../Drivers/STM32H7xx_HAL_Driver/Inc/Legacy
    

    缺失则手动添加并保存。

  • 清理缓存重新构建
    在TouchGFX Designer中执行Clean Build清除编译缓存,再重新构建目标验证错误是否消除。

内容的提问来源于stack exchange,提问作者MOHAMED AZIZ ACHOUR

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 18:50:00