為了使用方便,建議讀者將如下路徑加到PATH環境變量中。
/root/compilers/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin
下面編寫一個簡單的C程序來測試一下這個交叉編譯環境。
// first.c
#include <stdio.h>
int main()
{
printf("first arm program\n");
return 0;
}
輸入下面的命令編譯first.c文件(需要加-static選項)。
# arm-none-linux-gnueabi-gcc -static -o first first.c
輸入下面的命令將first文件上傳到任意的Android設備的/data/local目錄中(沒有root權限也可以)。
# adb push first /data/local
使用adb shell命令進入Android設備的控制台,並進入/data/local目錄,執行如下的命令
# ./first
執行上面的命令就會輸出“first arm program”信息。first程序在X86架構上運行的Ubuntu Linux中是無法運行的。讀者可以試著在Ubuntu Linux中運行first程序,看看會發生什麼。
注意:在安裝Code Sourcery的過程中會在/lib目錄尋找一個libc.so.6庫文件,但在Ubuntu Linux11.04及以上版本/lib目錄已經沒有libc.so.6庫文件了。這個庫文件被放在了其他的目錄。在32位的Ubuntu Linux中該文件的路徑是/lib/i386-linux-gnu/libc.so.6,在64位的Ubuntu Linux中該文件的路徑是/lib/x86_64-linux-gnu/libc.so.6。在安裝Code Sourcery之前可以使用ln命令為libc.so.6文件在/lib目錄建立一個鏈接。