对应官方的Raspbian,下载
raspbian-toolchain-gcc-4.7.2-linux32.tar.gz
保存几个地址:
<pre name="code" class="html">https://s3.amazonaws.com/RTI/Community/ports/toolchains/raspbian-toolchain-gcc-4.7.2-linux32.tar.gz
<pre name="code" class="html"><pre name="code" class="html">https://<span style="font-family: Arial, Helvetica, sans-serif;">github.com/raspberrypi/tools.git</span>
解压到/opt,然后修改环境变量
sudo leafpad ~/.bashrc
尾部加一行
export PATH=/opt/raspbian-toolchain-gcc-4.7.2-linux32/bin:$PATH
source一下,可以不重启就使用
arm-linux-gnueabihf-gcc -v
查看是否应用上了交叉链
http://www.airspayce.com/mikem/bcm2835/ 该链接给出的C库只是在树莓上编译安装,并没有说如何在host机上安装,
假如是在宿主机上编译,估计在./configure后加一长串奇奇怪怪的东西,我是看不懂。。
聪明的办法不会,用土方法总可以试试吧
那就按网站上给出的方法,在树莓上编译
tar zxvf bcm2835-1.xx.tar.gz
cd bcm2835-1.xx
./configure
make
sudo make check
sudo make install
ok,然后把
/usr/local/include/bcm2835.h
/usr/local/lib/libbcm2835.a
分别丢进host机
/opt/raspbian-toolchain-gcc-4.7.2-linux32/lib/gcc/arm-raspbian-linux-gnueabi/4.7.2/include
/opt/raspbian-toolchain-gcc-4.7.2-linux32/arm-raspbian-linux-gnueabi/lib
这时候在host机上,试试编译带有bcm2835函数的测试代码ts02.c
#include <bcm2835.h>
#include <stdio.h>
int main()
{
if (!bcm2835_init()) return 1;
printf("bcm2835_init_success!\n");
return 0;
}
<pre name="code" class="html">arm-linux-gnueabihf-gcc -o ts02 ts02.c -l bcm2835
把编译出来ts02丢树莓上
chmod 755 ts02
sudo ./ts02
是可以运行的

更白痴的方法就是把bcm2835.c.h放同一目录
在写测试代码时
#include "bcm2835.h"
arm-linux-gnueabihf-gcc -o ts02 ts02.c bcm2835.c
因为libbcm2835.a这个库无非就是
gcc -c bcm2835.c
ar rv libbcm2835.a bcm2835.o
出来的
完