Questions tagged «gcc»

8
如何建立用于交叉编译的GCC 4.7工具链?
我已经在Stack Overflow上问过这个问题,但我想知道是否有人设法为ARM交叉编译(对于x86 / x86-64 Linux主机)构建了GCC 4.7工具链。关于从源代码构建GCC的说明很多,对于4.7之前的GCC版本,有很多可用的交叉编译器,而不仅仅是最新的版本。 在Rasp Pi本身上编译可以很好地工作,但是对于实际目的来说有点太慢了。 我渴望编译,我想使用最新和最好的工具。

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


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,我如何知道应该使用哪些标志和参数?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.