2011-09-13 1 views
3

Android sdkバージョンとAndorid ndkがインストールされました。アンドロイド 私はサンプルrhodesアプリケーションを実行できません

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 

任意の提案を言ってエラーを得た: のAndroid SDKおよびAVD Managerを使用して、私は、SDK Plaformアンドロイド2.2、API8をインストールREV3と1.6、API4は、私は熊手の実行をしようとすると

をrevsion3

答えて

10

NDKの6bバージョンでエラーが発生しているようです。バージョン6に戻ってください(Mac版はhttp://dl.google.com/android/ndk/android-ndk-r6-darwin-x86.tar.bz2、WindowsとLinuxは似ています)。 展開してrhodes-setupユーティリティを実行し、新しいNDKの場所を教えてください。

+0

はそれを信じるかどうか、それが動作します。 –

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 /)を無視し、toolchainパスでそれを検索しています。

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

:ツールチェーンも、現在のディレクトリ内のファイルを検索して

しかし、一つの解決策は、ソースディレクトリに正しいプラットフォームcrtbegin_so.oとcrtend_so.oをリンクすることです

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" 
関連する問題