【问题标题】:How to add a new include file to NDK environment?如何将新的包含文件添加到 NDK 环境?
【发布时间】:2012-11-05 09:21:08
【问题描述】:

我想用 NDK 构建一个 android 库,我的代码使用了一个新的包含文件。 包含文件是在内核版本 3.1.0 的内核中添加的。但是我的 NDK 环境不包含包含文件(NDK 包含路径:NDK/platforms/android-14/arch-arm/usr/include/linux),所以当我编译我的源代码时,我得到的错误消息是“错误:linux/nfc.h:没有这样的文件或目录”。

我不知道如何为 NDK 环境添加新的包含文件。并且 NDK 包含文件被称为“ * 这个头文件是从 Linux 内核头文件自动生成的 同名,以提供用户空间所需的信息 调用 libc 可用的内核。它只包含常量, 结构和从原始标头生成的宏,因此, ** 不包含受版权保护的信息。 ”。

我可以根据我的 linux 内核编译一个新的 NDK 环境吗?

【问题讨论】:

    标签: android-ndk


    【解决方案1】:

    我不久前尝试做同样的事情。虽然我现在无法测试它,但我会尽力回忆并帮助你。默认情况下,在我的构建中我没有 libnfc.so(启动后你可以看到 logcat。它给出了与 libnfc 相关的错误消息)。我在三星 Galaxy Nexus S 上做到了。然后我不得不手动复制库(当然首先使用NDK构建它)和相应的头文件。我认为那里只有 2 或 3 个头文件。你应该这样做。这可能需要一些时间,但应该很容易完成。

    【讨论】:

    • 感谢您的回复。对不起,我忙于其他项目,这里没有记录。我试过了,但失败了。所以我认为编译一个 HAL 模块会比一个库更好,但是 HAL 模块还需要调用内核头文件,我不知道我的内核如何链接和使用 HAL 模块。有一个gralloc模块的例子:
       #if HAVE_ANDROID_OS #include  #endif我不知道HAL模块如何使用内核头文件。
    猜你喜欢
    • 2019-06-03
    • 2021-11-03
    • 1970-01-01
    • 2019-04-26
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2014-02-01
    相关资源
    最近更新 更多