タグ付けされた質問 「gcc」

8
クロスコンパイル用のGCC 4.7ツールチェーンを作成するにはどうすればよいですか?
私はすでにStack Overflowでこの質問をしましたが、ARMクロスコンパイル用のGCC 4.7ツールチェーン(x86 / x86-64 Linuxホスト用)を誰かが構築できたかどうか知りたいです。ソースからGCCをビルドするための多くの指示と、4.7より前のGCCバージョン用の多くの利用可能なクロスコンパイラがありますが、最新のものではありません。 Rasp Pi自体でのコンパイルは正常に機能しますが、実際の目的には少し遅すぎます。 私はコンパイルしたいと思っており、最新の最高のツールを使用したいと思います。

1
Raspberry Pi用にコンパイルしていることを検出するにはどうすればよいですか?
Raspberry Piには、C/C++いくつかのハードウェア機能(例:への呼び出し)にアクセスするために、少し特別なコード(私が話している)が必要ですbcm_host_init()。これを自動的に検出するための信頼できるエレガントな方法を探しています。私が悪用できる#definesようなコンパイラはないと思う_WIN32ので、CMake(シェルスクリプトを実行できる)からそれを検出するだけで十分です。また、すべてではないにしても、ほとんどのディストリビューションでこのメソッドが機能することを望んでいます。 私が考えることができる1つの方法は、たとえば/opt/vc/include/bcm_host.hファイル(これは難しくありません)を探し、またアーキテクチャがARMであることを確認できることです(#defineたとえば__arm__、そのためのマクロがあるのでコンパイル時に簡単です__ARMEL__)。この追加のアーチチェックは、別のマシンでクロスコンパイル環境を使用しているが、現在クロスコンパイルしていない場合の誤検知を防ぐためのものです。これとは異なる、より良い方法はありますか?


2
使用しているARM CPUのバージョンを確認するにはどうすればよいですか?
Piのパッケージをコンパイルすると、次のようなメッセージが表示されました。 CFLAGS += -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp #-mcpu=cortex-a8 and CFLAGS += -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard 私は違いを知っている-marchと-mtunu、しかし、違いは何であるarmv7-aとはarm1176jzf-s?新しいPiを調べている場合、どのフラグと引数を使用すればよいかを知るにはどうすればよいですか

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.