1、下载、安装C++程序交叉编译器,请从http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/ 下载适用于ARM处理器的C++程序交叉编译器,然后安装,安装完毕后,需要将安装目录下bin文件夹的绝对路径添加PATH环境变量中(在/etc/profile文件中添加),我使用的版本是arm-2010q1-202-arm-none-linux-gnueabi.bin。
2、编写C++程序,此处仍然以HelloWorld为例:
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{
cout << "I succeed!" << endl;
return 0;
}
3、运行编译命令,编译HelloWorld.cpp文件:
arm-none-linux-gnueabi-g++ -static -o HelloWorld HelloWorld.cpp
生成可执行文件HelloWorld,可以通过file命令查看HelloWorld文件的信息:
root@liuwei-desktop:~/native# file HelloWorld
HelloWorld: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.16, not stripped
4、创建Android模拟器,然后运行Android模拟器,我使用的版本是2.3.3:
创建Android模拟器:android create avd -n android233 -t android-10
运行Android模拟器:emulator -avd android233
5、待Android模拟器启动完成后,通过adb push命令将HelloWorld文件存放到Android模拟器中:
adb push HelloWorld /data
这样HelloWorld文件就存放到了Android模拟器的/data目录下。
6、通过adb shell连接Android模拟器,然后执行/data/HelloWorld即可:
root@liuwei-desktop:~/native# adb shell
# /data/HelloWorld
I succeed!
至此,HelloWorld.cpp文件顺利编译并且执行。