如何为 GCC 覆盖 -nostdinc

How to override -nostdinc for GCC

我尝试使用 zephyrproject.org 为 STM32 arm-none-eabi 交叉编译。 Zephyr 将 -nostdinc 标志添加到每个 C/C++ 文件。如果不修复构建系统源,我找不到如何覆盖它。

需要像 -stdinc 这样的选项(无法识别)。有没有?

您可以find out what the default include directories are, and add them back with the -I选项。

此信息来自 gcc 的手册页

目录搜索选项 这些选项指定用于搜索头文件、库和部分编译器的目录:

   -I dir
   -iquote dir
   -isystem dir
   -idirafter dir

@kyb 我 运行 遇到了同样的问题,并最终找到了 Zephyr 的正确解决方案:

只需将 CONFIG_NEWLIB_LIBC=y 添加到您的 prj.conf 文件即可!