2010-12-07 7 views
1

MacOSX 10.6.5でAndroid NDKを使用してPlatinum UPnPスタックを構築する際に問題があります。Android NDKでPlatinum UPnPスタックを構築するには?

hereから最新のバージョンのMac用Android NDKをダウンロードし、SCons(インストール用)をインストールし、最新バージョンのPlatinumをウェブサイトからダウンロードしました。 Iセットアップより

私のNDKのルートディレクトリにANDROID_NDK_HOMEとビルドしてみました:
のscons -Qターゲットは=アーム-アンドロイド-linuxのと私は次のエラーを得た:

(...) Exception: ANDROID NDK not configured, use host-setup.sh to configure it: (...)

問題があります

Previous releases required you to run the 'build/host-setup.sh' script to configure the NDK. However, this step has been removed in release 4.

そして今、私はちょっとこだわっていると、この問題を解決する方法がわからない:それこのファイルには、マニュアルに従ってのAndroid NDKから取り外しました。

UPDATE:私はNDK r3の(不足しているファイルとの最後の1)をダウンロードしてhost-setup.sh

とそれを構成ししかし、私はターゲットをビルドしようとすると、それが実行されてきた

しばらくしてからにクラッシュ:プラチナはコンパイラ含むアーム-EABI-4.4のパスに依存している独自のSConsはベースのビルドシステムを使用していますように別にhost-setup.sh問題から、それが見えます

 
Build/Targets/arm-android-linux/Debug/Source/Tests/FileMediaServer/FileMediaServerTest.o: In function `main': 
/Users/darkh/Platinum-SRC-0-6-3_683/Platinum/Source/Tests/FileMediaServer/FileMediaServerTest.cpp:153: warning: warning: gets() is very unsafe; consider using fgets() 

Build/Targets/arm-android-linux/Debug/libPltMediaServer.a(PltMediaItem.o): In function `PLT_MediaItem::DynamicCast(void const*)': 
PltMediaItem.cpp:(.text._ZN13PLT_MediaItem11DynamicCastEPKv[PLT_MediaItem::DynamicCast(void const*)]+0x5c): undefined reference to `PLT_MediaItem::_class_PLT_MediaItem' 

Build/Targets/arm-android-linux/Debug/libPltMediaServer.a(PltMediaItem.o): In function `PLT_MediaContainer::DynamicCast(void const*)': 
PltMediaItem.cpp:(.text._ZN18PLT_MediaContainer11DynamicCastEPKv[PLT_MediaContainer::DynamicCast(void const*)]+0x5c): undefined reference to `PLT_MediaContainer::_class_PLT_MediaContainer' 
collect2: ld returned 1 exit status 

scons: *** [Build/Targets/arm-android-linux/Debug/FileMediaServerTest] Error 1 

答えて

1

.0。それは最新のAndroid NDKでも変わってきました。

あなたは自分でビルドシステムをハックするか、r5のためにそれを更新するのを待たなければなりません。探し始めるのが良い場所はファイルBuild/Targets/arm-android-linux/Config.sconsですが、それを起動して実行するためには明白でない変更がかなりあります。

編集:

r4bで試してください。

HOST_TAG := linux-x86 

..またはMac上で同等 - android-ndk-r4b/build/prebuilt/内のディレクトリと呼ばれているもの:android-ndk-r4b/out/host/config.mkその内容でファイルを作成することです。それはたくさん集まるべきです - それはここで行いました。

+0

NDK r3(最後のものはhost-setup.sh)をダウンロードして設定しました。私はそれを走らせることができましたが、しばらくしてエラーが発生しました。 – darkhie

+0

私はConfig.sconsを手動で編集し、ホストタグが静的な行を作成しました。 私はr4bでそれをコンパイルすることに成功しましたが、メインの投稿でもう一度言及したエラーがありました。 (PLTMediaItem.o): 'PLT_MediaItem :: DynamicCast(void const *) '関数内: /Users/darkh/Platinum-SRC-0-6- ビルド/ターゲット/ arm-android-linux /デバッグ/ libPltMediaServer.a 3_683/Platinum/Source/Devices/MediaServer/PltMediaItem.h:244: 'PLT_MediaItem :: _ class_PLT_MediaItem 'への未定義の参照 – darkhie

+0

@darkhie - uf、いい考えはしません。おそらく、 "scons -c"で前回のbuilddをクリーンアップするのでしょうか?それに失敗すると、私はプラチナメーリングリストがあなたの最良の賭けになると思う:-( – richq

関連する問題