按照本文中给出的说明,我成功地在我的 Ubuntu 12.04 主机上为 Raspberry Pi Board 交叉编译了一个简单的 hello-world.c 程序
http://hertaville.com/2012/09/28/development-environment-raspberry-pi-cross-compiler/
使用的交叉编译命令是 arm-linux-gnueabihf-gcc hello-world.c
我执行了在 Rasperry Pi 板上生成的 a.out,它显示了正确的输出。接下来我做了
ldd a.out
并得到以下结果
> ldd a.out
>>/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so (0xbcfcb000)
>>>libc.so.6 ==> /lib/arm-linux-gnueabihf/libc.so.6 (0xb6e91000)
>>>>/lib/ld-linux-armhf.so.3 (0xb6fd8000)**
现在,我无法在我的主机 Ubuntu 12.04 机器上找到文件 libcofi_rpi.so。所以我想知道 hello-world 程序最初是如何交叉编译的。如果我在主机 Ubuntu 12.04 机器上重命名 libc.so* 交叉编译器 arm 库,交叉编译将失败。所以我知道,交叉编译器肯定在寻找这些库。 那么在主机 Ubuntu 12.04 机器上没有 libcofi_rpi.so 库的情况下,交叉编译是如何成功的呢?