2

ホスト タイプ Linux x86_64 および--target=sparc-sun-solaris2.10.

--targetGMP、MPFR、MPC とともにフラグ付きのbinutils を正常にビルドしました。

フラグを使用するように Binutils と GCC を構成し--with-build-sysroot=$SYSROOT、再帰的にコピーしました

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

$SYSROOT私のディレクトリが含まれているように、ターゲットホストからそれusrlib.

また、GCC をビルドする前に、PATH と LD_LIBRARY_PATH をプレフィックスに設定します。

しかし、GCC をビルドしようとすると、libgcc (第 2 段階と思われます) をビルドしようとして失敗し、エラーが発生します:

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 で動作するようにコードをクロスコンパイルできれば、大企業の工数を大幅に節約できます。x86_64 のパフォーマンスは SPARC と比較して非常に高速であり、コンパイルの待ち時間が生産性の大きなボトルネックになっています。

4

1 に答える 1

1

sysroot の値が正しく設定されない場合があります。詳細なオプションを使用してビルドしてみてください...おそらくそれが明らかになるでしょう。

于 2013-03-06T15:21:04.613 に答える