如何检测到我正在为Raspberry Pi进行编译?
由于Raspberry Pi需要一些特殊的代码(我正在谈论C/C++)来访问某些硬件功能(例如的调用bcm_host_init())。我正在寻找一种可靠且优雅的方法来自动检测到此情况。我认为没有#defines像_WIN32我这样会滥用的编译器,因此从CMake(可以执行Shell脚本)对其进行检测就足够了。我也希望该方法在大多数发行版中都可以使用。 我能想到的一个办法是,我可以找如/opt/vc/include/bcm_host.h文件(这并不困难),并检查该架构是ARM(这是很容易在编译的时候,因为有#define该宏,如__arm__中__ARMEL__)。当您在另一台计算机上具有交叉编译环境但当前尚未交叉编译时,此额外的arch检查是为了防止错误肯定。有没有比这更好的方法呢?