【发布时间】:2017-12-02 04:35:32
【问题描述】:
这可能很简单。
我有一个使用 NDK 的 Android 项目。我想在本机代码中包含opus 源代码。我尝试使用 CMake 的 ExternalProject_Add 属性,但我的本机代码仍然无法从 Opus 库中导入标头并且无法构建。
下面是我的 ExternalProject_Add 定义:
ExternalProject_Add(project_opus
URL https://archive.mozilla.org/pub/opus/opus-1.2.1.tar.gz
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
BUILD_COMMAND make
INSTALL_COMMAND make install
)
ExternalProject_Get_Property(project_opus install_dir)
include_directories(${install_dir}/include)
add_library(opus SHARED IMPORTED)
add_dependencies(opus project_opus)
target_link_libraries( # Specifies the target library.
native-lib
# Links the target library to the log library
# included in the NDK.
${log-lib} opus oboe OpenSLES)
【问题讨论】:
-
恐怕你不能简单地 make/make install opus 将它用于你的 NDK 项目。您必须将 plus 交叉编译到您的 Android ABI。
-
任何想法如何交叉编译到 Android ABI?
-
试试stackoverflow.com/a/30011890/192373。 TL;NR:这可能很棘手,但 Hunter 项目可以提供帮助。
标签: android cmake android-ndk opus external-project