【问题标题】:inttypes.h not found in arm-none-eabi-gcc在 arm-none-eabi-gcc 中找不到 inttypes.h
【发布时间】:2015-08-08 19:36:31
【问题描述】:

我在包含 inttypes.h 的库中有一个头文件(使用 PRIu8 等时需要)。我将库头文件包含到我自己的应用程序文件中。

当我尝试在 lpcxpresso(基于 eclipse)中使用 arm-none-eabi-gcc 进行编译时,出现错误

inttypes.h: No such file or directory

构建命令是

arm-none-eabi-gcc -std=c99 -DDEBUG -D__CODE_RED -DCORE_M3 -D__USE_CMSIS=CMSISv1p30_LPC17xx -D__LPC17XX__ -D__REDLIB__ -I"some include" -O0 -g3 -Wall -c -fmessage-length=0 -fno-builtin -ffunction-sections -fdata-sections -mcpu=cortex-m3 -mthumb -D__REDLIB__ -specs=redlib.specs -MMD -MP -MF"src/KISS_Server.d" -MT"src/KISS_Server.o" -MT"src/KISS_Server.d" -o "src/KISS_Server.o" "../src/KISS_Server.c"

为什么会出现这个错误?

我正在尝试为具有 Cortex-M3 处理器的 LPC1769 进行编译

【问题讨论】:

  • 你试过find /usr/inclue -name inttypes.h吗?
  • 如果我在 linux 上为 x86 构建,那应该给我包含,对吗?但是,由于我是为 arm 构建的,所以这将是一个不同的文件,对吧?
  • 我确实找到了 ~/Documents/LPCX/lpcxpresso/tools/arm-none-eabi/include/c++/4.9.3/tr1/inttypes.h 和 ~/Documents/LPCX/lpcxpresso/tools /arm-none-eabi/include/inttypes.h 虽然
  • 尝试将包含路径添加到编译器命令中,例如-I${HOME}/Documents/LPCX/lpcxpresso/tools/arm-none-eabi/include
  • @iharob - 这应该可行,但我正在寻找一个更优雅的解决方案来暴露潜在问题。在 -std=c99 下,编译器不应该抱怨 inttypes.h

标签: c eclipse gcc include lpc


【解决方案1】:

对于 arm-none-eabi,标头在独立环境(n1570、5.1.2.1)中是可选的。不知道您使用哪个主机,但在 Ubuntu 14.04 上,标头位于 gcc 的 /usr/lib/gcc/arm-none-eabi/4.8.2/include 中,并且仅包含少量标头。这是有道理的,因为没有标准库可以提供 printf & co。

但是,您也可以使用 newlib,它提供 stdlib 和 inttypes.h。另外,检查包含(和库)路径。

【讨论】:

  • 见上面的 cmets。我可以在我的 LPCXpresso arm-none-eabi 工具目录中找到 inttypes.h。我想我应该尝试使用 newlib
  • @TSG:我很乐意使用提供的标准包,但我不使用 Eclipse 或任何其他 IDE(这些 IDE 缺少 SCons 支持,实际上不需要)。承认,它只有 4.8.x,但现在已经足够了,我只是厌倦了手动安装(在 Kubuntu 12.04 上我不得不这样做,在我使用 sumon-arm-toolchain 之前这很麻烦)。
  • 我是一个使用 Eclipse 的团队的一员,我的项目必须便于所有人移植。编写 makefile 是可能的,但不是一个好的选择。
  • @TSG:这就是我们使用 SCons 而非 make 的原因。代码的主要部分是自动生成的,需要构建系统信息(例如依赖项)和自动模块选择。与一个好的编辑器相比,一个 IDE 不会有太大的不同,所以:不需要。
  • 我尝试使用 newlib。没有帮助。感谢您提出使用构建工具的建议。我看看有没有可能
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-01
  • 2020-07-16
  • 1970-01-01
相关资源
最近更新 更多