![如何交叉编译标准库?](https://linux22.com/image/95445/%E5%A6%82%E4%BD%95%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91%E6%A0%87%E5%87%86%E5%BA%93%EF%BC%9F.png)
我正在尝试为 ARM 设置交叉编译器。我跟着本教程现在我可以运行交叉编译器并得到:
arm-unknown-eabi-gcc (GCC) 4.8.4 Copyright (C) 2013 Free Software
Foundation, Inc. This is free software; see the source for copying
conditions. There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
但是当我尝试 ./configure Dropbear (我正在尝试编译的软件)时,出现错误:
checking for gcc... /home/josh/opt/cross/bin/arm-unknown-eabi-gcc
checking whether the C compiler works... no
configure: error: in `/home/josh/src/dropbear-2016.74':
configure: error: C compiler cannot create executables
See `config.log' for more details
我相信这是因为我还没有目标系统的标准库,因为我遵循的教程提到:
请注意该编译器无法编译普通的 C 程序。每当您想要 #include 任何标准标头(除了少数实际上与平台无关且由编译器本身生成的标头)时,交叉编译器都会吐出错误。这是非常正确的 - 您还没有目标系统的标准库!
如何为我的目标获取/构建标准库?
答案1
我最终通过删除所有手动构建的交叉编译器内容并执行 来解决这个问题sudo apt-get install gcc-arm-linux-gnueabi
,这似乎是开箱即用的。