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