我正试图为linux系统编译一个简单的hello world程序。
我有以下资料:
uname -a
Linux (none) 2.6.32.28 #130 PREEMPT Mon Feb 18 13:54:18 CST 2013 armv5tejl GNU/Linux
cat /proc/cpuinfo
Processor : ARM926EJ-S rev 5 (v5l)
BogoMIPS : 421.06
Features : swp half fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 5
Hardware : KeyASIC Ka2000 EVM
Revision : 0000
Serial : 0000000000000000
我想知道如何交叉编译这个系统。我尝试了以下几点:
但是,当我尝试运行可执行文件时,我会得到错误消息“命令未找到”。我可能没有正确地编译它,但我不知道使用什么样的编译选项,鉴于我掌握的信息。
(我知道地狱世界都在工作)。
ls -l helloworld
-rwxr-xr-x 1 0 0 8428 Jan 1 00:00 helloworld
which helloworld
which: applet not found
我戴上了百事箱-手臂
busybox which helloworld
(no output)
ldd也不在我试图为其编译的系统上(它是超越WifiSD卡)。
ls -ln /lib/libc*
-rwxrwxrwx 1 0 0 244279 Jan 19 2012 /lib/libc.so.0
-rwxrwxrwx 1 0 0 13043 Jan 19 2012 /lib/libcrypt.so.0
-rwxr-xr-x 1 0 0 1251776 Jan 1 00:00 /lib/libcrypto.so.0.9.8
我试图运行/lib/libc.so.0来获取版本信息,但是我遇到了一个分段错误。用-static编译似乎解决了这个问题。所以我想这是libc库的问题。谢谢你的帮助。
发布于 2013-09-14 09:06:16
我必须使用-static标志在二进制文件中包含c库。多亏了奥斯伦。
https://stackoverflow.com/questions/18548230
复制相似问题