Comment construire la pile UPnP Platinum avec Android NDK?
-
09-10-2019 - |
Question
J'ai un problème avec la construction de la pile UPnP Platinum avec Android NDK sur MacOSX 10.6.5.
Je l'ai téléchargé la dernière version d'Android NDK pour Mac , installés SCons (pour la construction) et téléchargé la dernière version de leur site Web Platinum forme.
Que je configurer le ANDROID_NDK_HOME à mon NDK répertoire racine et a essayé de construire:
scons -Q target = bras-android-linux et je suis l'erreur suivante:
(...) Exception: ANDROID NDK pas configurée, host-setup.sh pour le configurer: (...)
Le problème est que ce fichier se est retiré de l'Android NDK selon la documentation:
Les versions précédentes, vous deviez exécuter le « build / host-setup.sh » script configurer le NDK. Cependant, cette étape a été supprimée dans la version 4.
Et maintenant, je suis un peu coincé et ne sais pas comment résoudre ce problème.
Mise à jour:
Je l'ai téléchargé le NDK r3 (la dernière avec le fichier manquant) et configuré avec host-setup.sh
Mais quand j'essaie de construire la cible, il court pendant un certain temps puis se bloque sur:
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
La solution
En dehors de la question host-setup.sh, il semble que Platinum utilise son propre système de construction basé de SCons qui repose sur la trajectoire du bras-eabi-4.4.0 contenant compilateur. Cela a changé dans le dernier Android NDK aussi.
Vous devrez soit à pirater le système de construction vous-même ou attendre les mettre à jour pour r5. Un bon endroit pour commencer la recherche serait le fichier Build/Targets/arm-android-linux/Config.scons
, mais il y a quelques changements non évidents que vous auriez à faire pour l'obtenir et en cours d'exécution.
EDIT:
Essayez avec R4b. Créez un fichier dans android-ndk-r4b/out/host/config.mk
dont le contenu est:
HOST_TAG := linux-x86
.. ou l'équivalent sur Mac - quel que soit le répertoire dans android-ndk-r4b/build/prebuilt/
est appelé. Cela devrait compiler le lot -. Il a fait ici