【发布时间】:2012-03-08 15:32:25
【问题描述】:
我想使用 arm-linux-gnueabi-gcc 从 C 构建一个静态的 hello world,而不是使用 NDK 独立工具链或 Codesourcery。
在 Ubuntu 中...
我做了以下事情:
sudo apt-get install gcc-arm-linux-gnueabi
我创建了一个这样的 hi.c:
#include <stdio.h>
int main(int argc, char** argv) {
printf("hello world\n");
return 0;
}
我是这样编译的:
arm-linux-gnueabi-gcc -static hi.c -o hi
我在这样的模拟器上运行它:
adb push hi /data/hi
adb shell /data/hi
但是,我明白了:
[1] Illegal instruction /data/hi
我忘记了哪一步?根据过去的经验,这个“应该”是有效的,但我显然搞砸了。
【问题讨论】:
-
顺便说一句.. 在 Ubuntu Oneiric Ocelot 上执行此操作。另外,arm-linux-gnueabi-gcc 是 gnueabi-gcc 4.6 版本的链接。
-
你的 Ubuntu 版本是多少? SDK 版本或其他模拟器详细信息是什么?
标签: android c android-ndk arm cross-compiling