gpt4 book ai didi

java - 如何使用 Android NDK 构建 Platinum UPnP 堆栈?

转载 作者:太空宇宙 更新时间:2023-11-04 08:45:48 27 4
gpt4 key购买 nike

我在 MacOSX 10.6.5 上使用 Android NDK 构建 Platinum UPnP 堆栈时遇到问题。

我已从 here 下载了适用于 Mac 的最新版本 Android NDK ,安装了 SCons(用于构建)并从其网站下载了最新版本的 Platinum。

然后我将 ANDROID_NDK_HOME 设置到我的 NDK 根目录并尝试构建:
scons -Q target=arm-android-linux 我收到以下错误:

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

问题是根据文档,该文件已从 Android NDK 中删除:

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.

现在我有点陷入困境,不知道如何解决这个问题。

更新:

我已经下载了 NDK r3(最后一个缺少文件的版本)并使用 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 statusscons: *** [Build/Targets/arm-android-linux/Debug/FileMediaServerTest] Error 1

最佳答案

除了host-setup.sh问题之外,Platinum似乎使用自己的基于SCons的构建系统,该系统依赖于包含arm-eabi-4.4.0的编译器的路径。这在最新的 Android NDK 中也发生了变化。

您要么必须自己破解构建系统,要么等待他们更新 r5。一个不错的起点是 Build/Targets/arm-android-linux/Config.scons 文件,但是您必须进行一些不明显的更改才能使其启动并运行。

编辑:

尝试使用 r4b。在 android-ndk-r4b/out/host/config.mk 中创建一个文件,其内容为:

HOST_TAG := linux-x86

.. 或 Mac 上的同等内容 - 无论调用 android-ndk-r4b/build/prebuilt/ 中的目录。这应该编译很多 - 它在这里完成了。

关于java - 如何使用 Android NDK 构建 Platinum UPnP 堆栈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4377697/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com