linux / uinput.h缺少32位arm android ndk独立工具链?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux / uinput.h缺少32位arm android ndk独立工具链?相关的知识,希望对你有一定的参考价值。

我的程序使用linux / uinput.h头文件。这个头文件包含在arm64 android ndk独立工具链中(在android ndk文件夹中使用此命令生成:python.exe ./make_standalone_toolchain.py --arch arm64 --install-dir arm64 --deprecated-headers --stl gnustl),但不是在32位arm中,生成方式相同。这是一个问题,因为我需要使用标题。我试图复制标题(一些研究显示该架构与uinput标头无关),但后来我得到了这个错误:

sysrootusrincludelinuxuinput.h:71:15: error: 'ABS_CNT' undeclared here (not in a function)
   __s32 absmax[ABS_CNT];
                ^

这是怎么回事?为什么标题不包含在32位工具链中,为什么完全相同的头文件在复制时会出错?

答案

我解决了 - 它是Android NDK r16中的一个已知错误。我需要使用统一标头并在编译时使用此标志:

-D__ANDROID_API__=21

以上是关于linux / uinput.h缺少32位arm android ndk独立工具链?的主要内容,如果未能解决你的问题,请参考以下文章

使用 ARMv8 程序集和 Uinput 模拟击键

Arm64 中缺少 SSAT 和 USAT 指令的替代方案?

arm-linux-gcc4.4.3是32但linux是64位怎么办

树莓派3b+_32位linux系统arm架构安装JDK

Cryptopp 制作 ARM 32 位共享库

arm-none-eabi-gcc提示找不到,但是明明有这个文件的