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

Ceedling配置出现No such file or directory错误,求解决方法

Ceedling 头文件找不到问题排查与解决

问题现象

编译时出现头文件缺失错误:

Linking test_omsec_api.txt...
../../source/dialog_sdk/sdk/app_modules/src/app_common/app_task.c:26:56: fatal error: rwip_config.h: No such file or directory
 #include "rwip_config.h"            // SW configuration
                                                        ^
compilation terminated.
../../source/dialog_sdk/sdk/app_modules/src/app_common/app_utils.c:46:23: fatal error: app_utils.h: No such file or directory
 #include "app_utils.h"

当前Ceedling路径配置:

:paths:
  :test:
    - +:test/**
    - -:test/support
  :source:
    - ../../source/**
  :support:
    - test/support
  :libraries: # []
    - ../../source/dialog_sdk/sdk/**
    - ../../source/dialog_sdk/sdk/ble_stack/**
    - ../../source/dialog_sdk/sdk/app_modules/src/app_common/**
    - ../../source/dialog_sdk/sdk/platform/core_modules/rwip/api/**

已知rwip_config.h存在于../../source/dialog_sdk/sdk/platform/core_modules/rwip/api/目录。

排查与解决步骤

  • 明确头文件搜索路径配置
    Ceedling的:libraries主要用于指定链接库路径,头文件搜索应优先使用:source或专门的:includes块。修改配置添加:includes并明确缺失头文件的父目录:

    :paths:
      :test:
        - +:test/**
        - -:test/support
      :source:
        - ../../source/**
      :support:
        - test/support
      :includes:
        - ../../source/dialog_sdk/sdk/platform/core_modules/rwip/api/
        - ../../source/dialog_sdk/sdk/app_modules/src/app_common/
        - ../../source/dialog_sdk/sdk/**
      :libraries:
        - ../../source/dialog_sdk/sdk/**
        - ../../source/dialog_sdk/sdk/ble_stack/**
    
  • 验证编译命令的包含参数
    运行Ceedling时添加--verbose参数,查看实际编译命令是否包含正确的-I路径:

    ceedling test:omsec_api --verbose
    

    若未找到对应-I参数,检查YAML配置的缩进是否统一(必须用空格,不能混用制表符),通配符**是否被正确解析。

  • 清理缓存后重新编译
    Ceedling缓存可能残留旧配置,执行清理后重新测试:

    ceedling clean
    ceedling test:omsec_api
    
  • 补充直接路径规避递归解析问题
    若递归通配符../../source/**未生效,可将缺失头文件的直接父目录单独添加到:source中:

    :source:
      - ../../source/**
      - ../../source/dialog_sdk/sdk/platform/core_modules/rwip/api/
      - ../../source/dialog_sdk/sdk/app_modules/src/app_common/
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 18:51:07