【发布时间】:2014-01-07 10:37:56
【问题描述】:
我在 C 中交叉编译一个简单的 HelloWorld 有一些困难。主机是 Ubuntu X86_64,目标是运行 Linux 内核 2.6.21.7 的 ARMv6 兼容处理器 rev 7 (v6l)
如果我尝试:
arm-linux-gnueabi-gcc -static -march=armv6 hello.c -o hello
我在目标上遇到分段错误。文件命令输出为:
hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.31, BuildID[sha1]=0x0c77ad13c58160eab9dcbf2feeeaf4d27a4319cb, not stripped
我在 GCC 文档中没有看到任何“armv6l”标志。是否可以使用 GCC 交叉编译此架构?
【问题讨论】:
-
arm-linux-gnueabi-gcc hello.c -o hello呢?如果这不起作用,那么问题可能出在您的代码中。 -
感谢您的回答,但在发布之前我确实尝试了您的解决方案。我在对我有用的解决方案下方发布了。
标签: c linux gcc arm cross-compiling