在android ndk中使用ubuntu header lib

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在android ndk中使用ubuntu header lib相关的知识,希望对你有一定的参考价值。

我正在使用android NDK为Android开发构建一个开源的lib C / C ++。我有来自Github的代码,并在源代码下创建了我自己的jni文件夹。在那个jni文件夹中,我创建了一些C源文件,并在开源库中包含了许多头文件。但是当我建立时,我的登录失败了:

致命错误:bits / libc-header-start.h:没有这样的文件或目录

我检查并看到文件“libc-header-start.h”存在于Ubuntu系统的/ usr / include / x86_64-linux-gnu / bits /文件夹中但是在构建时,它无法链接到该头文件

那么我可以在我的Android NDK lib中使用Ubuntu系统头文件吗?

答案

不,您不应该使用Ubuntu(或任何其他主机)包含或库来构建Android NDK库。 NDK交叉编译Android目标的代码。并非GitHub上的所有C ++项目都可以轻松移植到Android。如果他们使用CMake,这些脚本通常需要针对Android NDK进行调整。如果他们使用automake工具,调整构建脚本可能会非常痛苦。

另一答案

那么我可以在我的Android NDK lib中使用Ubuntu系统头文件吗?

没有。您必须使用所有Android NDK特定的头文件和库来进行NDK编译,即NDK文件夹中的文件。

以下是Android JNI编程的示例:https://github.com/russell-shizhen/JniExample

以上是关于在android ndk中使用ubuntu header lib的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu下android ndk编译环境搭建方法

Ubuntu+IntelliJ IDEA+Android 配置NDK环境+openCV

Ubuntu下配置Android NDK开发环境

buildozer android NDK没有下载Ubuntu

Ubuntu上的CMake Android NDK错误armeabi-v7a

Ubuntu+NDK编译openssl(为了Android上使用libcurl且支持HTTPS协议)