2011-09-13 52 views
3

我安裝了Android sdk版本和Andorid ndk。 使用Android SDK和AVD管理器,我安裝SDK者平臺的Android 2.2,API8,REV3和1.6,API4,revsion3無法運行示例羅德應用程序

當我嘗試耙運行:安卓 我得到的錯誤說

D:/Android_ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/../lib/gcc/arm-linux-android 
eabi/4.4.3/../../../../arm-linux-androideabi/bin/ld.exe: crtbegin_so.o: No such file: No such file or directory 
collect2: ld returned 1 exit status 

任何建議將是有幫助的

回答

0

不知道我是否指向你在正確的方向,但它似乎你的Rhodes應用程序正在尋找像SDK和AVD文件,找不到它們。

首先,確保項目中的build.yml指向您的Rhodes文件夾。 sample-api默認沒有正確的設置。

此外,在Rhodes文件夾中,確保rhobuild.yml具有適合您的SDK和AVD的正確位置。該文件夾中還有一個示例,向您展示它應該是什麼樣子。

如果這沒有幫助,我會建議你展示更多導致此錯誤的跟蹤。任何更多的信息是值得歡迎的,因爲你給的東西並不多。

2

這個問題也出現在NDK r7c(linux)上。

我發現工具鏈會忽略平臺位置($ NDK_ROOT/platforms/android-8/arch-arm/usr/lib /)並在工具鏈路徑中搜索它,這是不正確的。

然而,由於工具鏈還搜索在當前目錄下的文件,一個解決方案是正確的平臺crtbegin_so.o和crtend_so.o鏈接到源代碼目錄:

cd src && ln -s NDK_ROOT/platforms/android-8/arch-arm/usr/lib/crtbegin_so.a

cd src && ln -s NDK_ROOT/platforms/android-8/arch-arm/usr/lib/crtend_so.a

注1:這個答案是不特定於羅德

注2:這裏假設代碼正在爲API8(Android 2.2)編譯。請按照您的要求更改正確平臺的路徑。

注3:使用配置標誌:

./configure \ 
--host=arm-linux-androideabi \ 
CC=arm-linux-androideabi-gcc \ 
CPPFLAGS="-I$NDK_ROOT/platforms/android-8/arch-arm/usr/include/" \ 
CFLAGS="-nostdlib" \ 
LDFLAGS="-Wl,-rpath-link=$NDK_ROOT/platforms/android-8/arch-arm/usr/lib/ -L$NDK_ROOT/platforms/android-8/arch-arm/usr/lib/" \ 
LIBS="-lc"