NXP MCUXPresso - .h: No such file or directory

news2024/11/28 9:46:56

文章目录

    • NXP MCUXPresso - .h: No such file or directory
    • 概述
    • 备注
    • END

NXP MCUXPresso - .h: No such file or directory

概述

在尝试迁移 openpnp - Smoothieware project 从gcc命令行 + MRI调试方式 到NXP MCUXpresso工程.
快摸进门了.

按照C++工程编译的.
头文件路径都加好了, 都是用的工作区的相对路径. 文件也都在指定的位置.
但是编译时, 找不到头文件, 报错如下:

arm-none-eabi-gcc -std=c11 -DDEBUG -D__CODE_RED -D__NEWLIB__ -DCORE_M3 -DCPP_NO_HEAP -D__LPC17XX__ -O0 -fno-common -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -fmerge-constants -fmacro-prefix-map="../src/libs/LPC17xx/LPC17xxLib/src/"= -mcpu=cortex-m3 -mthumb -fstack-usage -MMD -MP -MF"src/libs/LPC17xx/LPC17xxLib/src/lpc17xx_clkpwr.d" -MT"src/libs/LPC17xx/LPC17xxLib/src/lpc17xx_clkpwr.o" -MT"src/libs/LPC17xx/LPC17xxLib/src/lpc17xx_clkpwr.d" -o "src/libs/LPC17xx/LPC17xxLib/src/lpc17xx_clkpwr.o" "../src/libs/LPC17xx/LPC17xxLib/src/lpc17xx_clkpwr.c"
../src/libs/LPC17xx/LPC17xxLib/src/lpc17xx_adc.c:34:10: fatal error: lpc17xx_adc.h: No such file or directory
   34 | #include "lpc17xx_adc.h"
      |          ^~~~~~~~~~~~~~~

在这里插入图片描述
这种报错分2种情况:

  • 文件在不在?
  • 告诉编译器头文件包含路径在哪里?

MCUXPresso头一次用, 就按照vs或qt的设置方式. 以为只要设置了头文件路径就好使.

既然按照c++工程来编译, 那么就将c++方式的头文件路径填上, 还是报错. 但不是所有的都报错. 说明头文件路径填的对.
这咋弄?
最后想了一个很土的方法, 来验证头文件设置的问题.

  • 在工程顶层目录和src同级的目录, 新建了一个inc目录, 将工程中所有.h都剪切到inc目录中, 如果有重名的就改名. 将c++头文件路径都设置为inc目录
    然后将工程实现中用到的头文件的引用前面的具体子目录都去掉.
    在这里插入图片描述
    这时再编译报错时, 那就不是头文件路径设置错的问题, 只需要在inc目录看看这个.h是否存在.
    排除了文件不存在的错误后, 发现还是有报错, 说找不到头文件.
    尝试将用到这些.h的实现移除掉, 不行, 编译不过. 这些.c是有用的.
    过了很久很久(大概一下午), 突然开窍了, 为啥这些说找不到.h的实现都是.c呢?..
    去看一下, 是否c编译器也需要设置头文件路径.
    看了一下, C和C++编译器的头文件路径是分别要设置的…
    在这里插入图片描述
    再重新编译工程, 报错消失.
    都是坑啊.

备注

因为是迁移工程, 我哪知道头文件路径该设置哪些路径, 都是根据编译报错来添加头文件路径, 然后尝试编译.
这次长经验了, 如果报错说头文件找不到, 需要看是.cpp还是.c报错.
如果是.cpp报错, 就向c++编译器添加头文件路径.
如果是.c报错, 就向c 编译器添加头文件路径.

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/533154.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Wijmo 2023 Crack添加的一些改进

Wijmo 2023 Crack添加的一些改进 改进了对React 18的支持-增加了对Reack 18严格模式的支持,这有助于开发人员在开发过程中发现常见的错误。 可访问性改进-以下是本版本中添加的一些改进: 改进了FlexGridFilter弹出窗口,用于按条件和值进行筛选…

文本三剑客之——sed编辑器

sed编辑器 sed编辑器sed基础语法sed查询sed删除sed 替换sed 插入 sed编辑器 sed是文本处理工具,依赖于正则表达式,可以读取文本内容,工具指定条件对数据进行添加、删除、替换等操作,被广泛应用于shell脚本,以完成自动…

【交直流保护用HJZ-Y910静态中间继电器 性能稳定功耗小 JOSEF约瑟】

品牌:JOSEF约瑟,型号:HJZ-Y910,名称:静态中间继电器,额定电压:48220VDC;48415VAC,触点容量:250V/5A,功率消耗:≤5W,动作时…

Linux的常见指令(下)

常见指令以及权限理解(下) 基础指令的继续学习,本篇博客是对于Linux的大部分常见指令的学习和使用,指令的选项都是比较常用的,基本的复制移动,删除文件or目录,查看文件的三种方式cat、more、le…

区块链技术方向的就业前景

区块链技术是一个快速发展的领域,目前正在被越来越多的企业和组织广泛应用。区块链技术在金融、物流、医疗、社交媒体等众多领域都有着广泛的应用。因此,区块链技术方向的就业前景非常乐观。 区块链技术是新一代信息技术的重要组成部分,区块…

SpringBoot 发送邮件(四十三)

从头开始,并不意味着失败,相反,正是拥抱成功的第一步,即使还会继续失败 上一章简单介绍了 SpringBoot 整合 ES (四十二), 如果没有看过,请观看上一章 一. 发送邮件 关于发送邮件的功能和基础知识,老蝴蝶这儿就不重点…

NodeJs在Linux下使用的各种问题

环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linux下Nodejs安装(完整详细) 如果想解决问题的话,输入下面的命令即可…

Sentinel-1的GRD和SLC数据的区别和联系

目录 01 前言 02 Sentinel1下载时的基本参数解释 2.1 卫星平台 2.2 产品类型 03 SLC数据和GRD数据的区别 3.1 处理过程的区别 3.2 处理操作的一点解释 3.2.1 为什么要做地形辐射校正? 3.2.2 多普勒地形校正和地形辐射校正的区别? 01 前言 最近…

【软考数据库】第十二章 事务管理

目录 12.1 事务的基本概念 12.2 数据库的并发控制 12.3 数据库的故障与恢复 12.3.1 事务故障 12.3.2 系统故障 12.3.3 介质故障 12.3.4 数据库备份 12.4 数据库的安全性与完整性 前言: 笔记来自《文老师软考数据库》教材精讲,精讲视频在b站&am…

B2B2C商城系统怎么挑选好?

B2B2C商城它不仅提供B2B模式下的批量交易,还为消费者提供了B2C模式的优质购物体验,因此,越来越多的企业或商家开始重视B2B2C商城系统的搭建,如目前的SHOP、Magento等商城系统。那么,如何挑选合适的B2B2C商城系统呢&…

接口自动化测试—如何实现多套环境的自动化测试?

在敏捷迭代的项目中,通常会将后台服务部署到多套测试环境。那么在进行接口自动化测试时,则需要将服务器的域名进行配置。使用一套接口测试脚本,通过切换域名地址配置,实现多套环境的自动化测试。 实战练习 分别准备两套测试环境…

ffmpeg合并多张图片为视频,加转场

需求是合并多个图片为视频,并在每个图片衔接处加入转场特效,第一种方式是用fade做转场,第二种方式是xfade做转场,xfade的转场特效更多,建议用这个。如果对你有帮助,点赞收藏。 第一种:直接用fa…

实验十 超市订单管理系统综合实验

实验十 超市订单管理系统综合实验 应粉丝要求,本博主帮助实现基本效果! 未避免产生版权问题,本项目博主不公开源码,如果您遇到相关问题可私聊博主! 一、实验目的及任务 通过该实验,掌握利用SSM框架进行系…

涂鸦智能幻彩灯带开发包,如何帮助开发者寻找创意?

如果你常看短视频,一定被各种炫酷的幻彩灯带产品刷屏过。随着智能幻彩灯带的问世,其玩法也愈加丰富。比如支持用户对灯带上的每一颗灯珠实现亮度和颜色的单独调节,并专属自定义你想要的场景模式,呈现出花式的动态灯光效果。 而且…

【采访】 | “标准化推动车辆诊断的质量和效率”

机动车产业/行业(Mobility Industry)的变化速度比以往任何时候都快,电动和替代驱动以及数字化和自动驾驶变得愈发重要,需要更为强大且智能的车辆。与此同时,E/E系统的复杂性也在不断增加,这对车载通信提出了…

Vue - el-form的学习记录 - 记录问题解决方法

问题1: Elementui在重置表单时,无法使用this.$refs[‘formRefVal‘].resetFields()清空表单数据; 必须为每一个 el-form-item 配置一个指定的 prop 参数,this.$refs[‘formRefVal‘].resetFields() 它会跟进初始值,还…

深入分析:香港 windows 和linux VPS 区别和使用需求

​  香港虚拟专用服务器 (VPS) 两种常见的操作类型是 Windows 和 Linux VPS。尽管两者都提供相似的好处,但两者之间的显著差异会影响哪一个更适合用户的特定需求。 在本文中,我们将探讨这两种解决方案之间的主要区别,包括它们的操作系统和软…

IM即时通讯系统[SpringBoot+Netty]——梳理(四)

文章目录 九、消息业务的核心之消息可达性、一致性、幂等性、实时性1、消息实时性—利用多线程解决消息串行的问题,提高处理效率2、消息实时性—校验逻辑前置由tcp通过feign接口提前校验3、消息实时性—利用mq异步持久化消息4、用了TCP就不会丢包、丢消息了吗&#…

【黄啊码】如何使用thinkphp结合wokerman实现分组群聊

大家好,我是黄啊码,关于php的课程咱们好像停更了一小段时间了,今天继续,讲讲怎么使用wokerman实现分组群聊,不知道怎么用tp搭建wokerman的,请看下边链接,我不会再做阐述:【黄啊码】w…

半监督医学图像分割的平滑性和类分离研究

文章目录 Exploring Smoothness and Class-Separation for Semi-supervised Medical Image Segmentation摘要本文方法Pixel-level SmoothnessInter-class Separation 实验结果 Exploring Smoothness and Class-Separation for Semi-supervised Medical Image Segmentation 摘要…