【问题标题】:Cannot find include for limits.h when building a GCC Cross-Compiler构建 GCC 交叉编译器时找不到包含限制.h
【发布时间】:2013-02-08 05:24:17
【问题描述】:

我想构建一个主机类型为 Linux x86_64 和 --target=sparc-sun-solaris2.10 的交叉编译器。

我已经成功构建了带有 --target 标志的 binutils 以及 GMP、MPFR 和 MPC。

我已将 Binutils 和 GCC 配置为使用 --with-build-sysroot=$SYSROOT 标志并递归复制

  • /usr/include
  • /lib
  • /usr/lib

从目标主机到它,以便我的$SYSROOT 目录包含usrlib

我还在构建 GCC 之前将 PATH 和 LD_LIBRARY_PATH 设置为我的前缀。

但是当我尝试构建 GCC 时,尝试构建 libgcc(我相信是第二阶段)失败并出现错误:

gcc/include-fixed/limits.h:169:61: error: no include path in which to search for limits.h

我已验证limits.h 确实存在于$SYSROOT/usr/include 中,那么为什么 GCC 不使用它呢?

请帮忙。

如果我可以交叉编译我们的代码以在 x86_64 上工作,这将为我们的大公司节省大量工时。与 SPARC 相比,x86_64 的性能快如闪电,编译等待时间是我们生产力的一大瓶颈。

【问题讨论】:

    标签: gcc cross-compiling x86-64 include-path sparc


    【解决方案1】:

    您可能遇到了sysroot value getting set incorrectly 的情况。您可能应该尝试使用详细选项进行构建...因为它可能会揭示这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-09
      • 1970-01-01
      • 1970-01-01
      • 2017-04-21
      相关资源
      最近更新 更多