历览千载书,时时见遗烈。这篇文章主要讲述在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 ndk中使用ubuntu header lib】以下是Android JNI编程的示例:https://github.com/russell-shizhen/JniExample
推荐阅读
- Android NDK(找不到平台文件(标题和库))
- 构建使用协议缓冲区的Android可执行gRPC服务器(不使用APK)
- Android studio 3.1.3创建新项目,c ++支持同步失败
- 在没有Android Studio的情况下为Android创建(Cmake)C / C ++库
- Android NDK“ndk-build”被识别为内部或外部命令批处理文件
- 将cpp类添加到android项目中
- 如何使用Android.mk为不同的平台指定不同的CFLAGS
- 如何在Android上进行SSL对等验证工作()
- 在android NDK中包含本地头文件时的未定义引用