我在 MacOSX 10.6.5 上使用 Android NDK 构建 Platinum UPnP 堆栈时遇到问题。
我已经从这里下载了最新版本的 Android NDK for Mac ,安装了 SCons(用于构建)并从他们的网站下载了最新版本的 Platinum。
比我将 ANDROID_NDK_HOME 设置到我的 NDK 根目录并尝试构建:
scons -Q target=arm-android-linux并且我收到以下错误:
(...) 例外:ANDROID NDK 未配置,使用 host-setup.sh 配置它:(...)
问题是根据文档,该文件已从 Android NDK 中删除:
以前的版本要求您运行“build/host-setup.sh”脚本来配置 NDK。但是,此步骤已在版本 4 中删除。
现在我有点卡住了,不知道如何解决这个问题。
更新:
我已经下载了 NDK r3(最后一个缺少文件)并使用 host-setup.sh 对其进行了配置
但是当我尝试构建目标时,它会运行一段时间然后崩溃:
Build/Targets/arm-android-linux/Debug/Source/Tests/FileMediaServer/FileMediaServerTest.o:在函数“main”中: /Users/darkh/Platinum-SRC-0-6-3_683/Platinum/Source/Tests/FileMediaServer/FileMediaServerTest.cpp:153:警告:警告:gets() 非常不安全;考虑使用 fgets() 构建/目标/arm-android-linux/Debug/libPltMediaServer.a(PltMediaItem.o):在函数“PLT_MediaItem::DynamicCast(void const*)”中: PltMediaItem.cpp:(.text._ZN13PLT_MediaItem11DynamicCastEPKv[PLT_MediaItem::DynamicCast(void const*)]+0x5c):未定义对“PLT_MediaItem::_class_PLT_MediaItem”的引用 构建/目标/arm-android-linux/Debug/libPltMediaServer.a(PltMediaItem.o):在函数“PLT_MediaContainer::DynamicCast(void const*)”中: PltMediaItem.cpp:(.text._ZN18PLT_MediaContainer11DynamicCastEPKv[PLT_MediaContainer::DynamicCast(void const*)]+0x5c): 未定义对 `PLT_MediaContainer::_class_PLT_MediaContainer' 的引用 collect2: ld 返回 1 个退出状态 scons: *** [Build/Targets/arm-android-linux/Debug/FileMediaServerTest] 错误 1