【问题标题】:gcc standard headers mazegcc 标准标题迷宫
【发布时间】:2014-10-05 03:21:43
【问题描述】:

我正在尝试构建 gcc 以进行交叉编译(主机 - Mac OS X,目标 - ARM),这是我之前问答的链接(How to make ARM cross compilation on Mac OS X (error: invalid listing option `r' - cross compiling error)

我需要构建libgcc,所以我运行命令make all-target-libgcc,一切似乎都很好,直到我遇到这个错误:

/Users/smcho/Desktop/gcc/gcc-build-arm/./gcc/xgcc -B/Users/smcho/Desktop/gcc/gcc-build-
arm/./gcc/ -B/opt/cross/arm-elf-eabi/bin/ -B/opt/cross/arm-elf-eabi/lib/ -isystem 
/opt/cross/arm-elf-eabi/include -isystem /opt/cross/arm-elf-eabi/sys-include    -g -O2 -mthumb -
O2  -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-
qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include   -fno-
inline -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector   -fno-inline -I. -I. - 
I../../.././gcc -I../../../../gcc-4.8.3/libgcc -I../../../../gcc-4.8.3/libgcc/. -
I../../../../gcc-4.8.3/libgcc/../gcc -I../../../../gcc-4.8.3/libgcc/../include  -DHAVE_CC_TLS  -
o _eprintf.o -MT _eprintf.o -MD -MP -MF _eprintf.dep -DL_eprintf -c ../../../../gcc-
4.8.3/libgcc/libgcc2.c -fvisibility=hidden -DHIDE_EXPORTS
../../../../gcc-4.8.3/libgcc/libgcc2.c:2043:19: fatal error: stdio.h: No such file or directory
#include <stdio.h>
                   ^

简而言之,libgcc2.c 找不到stdio.h 头文件。 我使用来自brew 的gcc-4.8,所以我已经在/usr/local/Cellar/gcc49/4.9.1/lib/gcc/x86_64-apple-darwin13.3.0/4.9.1/include 中有一个包含目录,我认为这是一个简单的修复。问题是&lt;stdio.h&gt; 被埋在c++/tr1 中。此外,只有一行#include &lt;tr1/cstdio&gt; 指向子目录中的另一个标题。

从命令行,我知道我有两个可以符号链接的目录(-isystem /opt/cross/arm-elf-eabi/sys-include/opt/cross/arm-elf-eabi/include);这两个目录都不存在。

但是,我迷路了,因为我不确定将它们符号链接到哪些路径。我只是尝试将/opt/cross/arm-elf-eabi/include 链接到.../4.9.1/include/c++/tr1 以便找到stdio.h,但是当它使用时,我有另一个编译错误。

我尝试了很多组合,但总是以错误告终。这只是简单的 C 代码,所以我认为我不需要复杂的 C++ 头文件。

  • 有没有简单的方法来解决这个问题?我的意思是,我可以只下载 C 头文件并将目录链接到 include 目录吗?
  • gcc(不是 g++)如何在这个包含目录迷宫中找到stdio.h?设置如何?

任何指针都将不胜感激。

【问题讨论】:

    标签: gcc include stdio


    【解决方案1】:

    对于mac os x,头文件位于/usr/include。我可以让符号链接指向这个目录来解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      • 2011-09-22
      • 1970-01-01
      • 2015-04-24
      • 2020-06-14
      相关资源
      最近更新 更多