我正在使用Android NDK构建用于Android开发的开源lib C / C ++。我从Github获得了代码,并在源代码下创建了自己的jni文件夹。在该jni文件夹中,我创建了一些C源文件,并在开源lib中包含了许多头文件。但是当我构建时,我的日志失败了:
严重错误:bits / libc-header-start.h:没有这样的文件或目录
我检查并发现文件“ libc-header-start.h”存在于Ubuntu系统的/ usr / include / x86_64-linux-gnu / bits /文件夹中,但是在构建时,它无法链接到该头文件< / p>
那么我可以在我的Android NDK库中使用Ubuntu系统头文件吗?
答案 0 :(得分:1)
否,您不应使用Ubuntu(或任何其他主机)包含或库来构建Android NDK库。 NDK为Android目标交叉编译您的代码。并非GitHub上的所有C ++项目都可以轻松移植到Android。如果他们使用CMake,则这些脚本通常需要针对Android NDK进行改编。如果他们使用自动制作工具,则调整构建脚本可能会很痛苦。
答案 1 :(得分:1)
那么我可以在我的Android NDK库中使用Ubuntu系统头文件吗?
否。您必须将所有Android NDK专用标头和库用于NDK编译,即NDK文件夹中的标头和库。
以下是Android JNI编程的示例:https://github.com/russell-shizhen/JniExample