1

当我从 Android Studio 构建 Bento4 库时,我得到一个未定义的对“AP4_Ac4SampleDescription::_class_AP4_Ac4SampleDescription”错误的引用。

总的来说,Bento4 有 5 个用于不同平台的 cmake 命令。以下是适用于 Linux 和 Android 的 2 个:

基础 Linux: cmake -DCMAKE_BUILT_TYPE=Release ..

安卓 NDK:cmake -DCMAKE_TOOLCHAIN_FILE=$NDK/build/cmake/android.toolchain.cmake -DANDROID_ABI=$ABI -DANDROID_NATIVE_API_LEVEL=$MINSDKVERSION ..

它与基本的 Linux 版本一起构建得很好。

Android版本无法正常工作的原因可能是什么?请注意:我尝试了几个不同版本的 Android NDK。我收到版本 16 和 17 的一个错误,以及版本 18 到 21 的另一个错误。

在此处输入图像描述

4

1 回答 1

1

这是 Bento4 方面的错误。您需要将错过的内容添加到Bento4/Source/C++/Core/Ap4SampleDescription.cpp

AP4_DEFINE_DYNAMIC_CAST_ANCHOR(AP4_Ac3SampleDescription)
AP4_DEFINE_DYNAMIC_CAST_ANCHOR(AP4_Eac3SampleDescription)
AP4_DEFINE_DYNAMIC_CAST_ANCHOR(AP4_Ac4SampleDescription)

我还为 Bento4 存储库创建了相应的拉取请求:https ://github.com/axiomatic-systems/Bento4/pull/654

我希望现在你能够构建它。

UPD:拉取请求已合并,因此只需拉取并重建您的项目。

于 2021-10-19T10:59:29.480 回答