【发布时间】:2016-04-17 21:13:09
【问题描述】:
案例 1 arm-linux-gcc -v hello.c ==> 工作
案例 2
arm-linux-gcc -v -L/home/peter/igep2015/09Buildroot/buildroot-2016.02-TRY5/output/staging/usr/lib hello.c ==> 不工作
错误:ld.bfd:找不到 /usr/lib/libc_nonshared.a
错误:ld.bfd:找不到 /lib/ld-linux.so.3
案例 3 arm-linux-gcc -v --sysroot=/home/peter/igep2015/09Buildroot/buildroot-2016.02-TRY5/output/host/usr/armeb-buildroot-linux-gnueabi/sysroot/hello.c ==>WORKS 但说它忽略了 sysroot,因为它找不到 /usr/include 所以就像 case#1 注意 buildroot-staging 符号链接到 buildroot-sysroot
各自的 libc 库位于:
/usr/local/xtools/arm-unknown-linux-gnueabi/arm-unknown-linux-gnueabi/sysroot/usr/lib/:/usr/local/xtools/arm-unknown-linux-gnueabi/arm-unknown-linux -gnueabi/sysroot/lib/
/home/peter/igep2015/09Buildroot/buildroot-2016.02-TRY5/output/host/usr/armeb-buildroot-linux-gnueabi/sysroot/usr/lib:/home/peter/igep2015/09Buildroot/buildroot-2016.02 -TRY5/output/host/usr/armeb-buildroot-linux-gnueabi/sysroot/lib/
/arm-linux 和 Buildroot 库似乎相同。交叉工具用于构建 Buildroot。
问题是:为什么当我链接到 Buildroot 暂存库时 arm-linux-gcc 会失败。出现这个问题是因为自动工具 ./configure 失败并带有 -L 到 Buildroot。但是我需要 -L 来访问 Buildroot 中的 libSDL2、libfreetype 等,以便交叉编译 SDL2_ttf。
注意:我使用的是 (crosstool-NG 1.21.0) 5.1.0。
【问题讨论】: