web-dev-qa-db-ja.com

標準ライブラリをクロスコンパイルするにはどうすればよいですか?

ARM用のクロスコンパイラをセットアップしようとしています。私は このチュートリアル に従い、クロスコンパイラを実行して次の情報を取得できるようになりました。

arm-unknown-eabi-gcc (GCC) 4.8.4 Copyright (C) 2013 Free Software
Foundation, Inc. This is free software; see the source for copying
conditions.  There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.

しかし、Dropbear(コンパイルしようとしているソフトウェア)を./configureしようとすると、エラーが発生します。

checking for gcc... /home/josh/opt/cross/bin/arm-unknown-eabi-gcc
checking whether the C compiler works... no
configure: error: in `/home/josh/src/dropbear-2016.74':
configure: error: C compiler cannot create executables
See `config.log' for more details

これは、私がフォローしていたチュートリアルで次のように言及されているため、ターゲットシステムの標準ライブラリがまだないためだと思います。

このコンパイラが通常のCプログラムをコンパイルできないことに注意してください。クロスコンパイラーは、標準ヘッダーのいずれかを#includeする場合は常にエラーを吐き出します(実際にはプラットフォームに依存せず、コンパイラー自体によって生成されるいくつかのヘッダーを除く)。これは非常に正しいです-ターゲットシステム用の標準ライブラリはまだありません!

ターゲットの標準ライブラリを取得/構築するにはどうすればよいですか?

4
Joshua Walsh

手動で作成したクロスコンパイラーをすべて削除し、Sudo apt-get install gcc-arm-linux-gnueabiを実行するだけで、これを解決することになりました。これは、箱から出してすぐに機能するようです。

2
Joshua Walsh