Android ndk r15b - Posix_memalign () 未声明的标识符

标签 android gcc android-ndk

我是 Android 项目的新手。对于我的新任务,我需要为 Android 平台构建一个项目。我能够使用 Android ndk 使用 cmakelists.txt 为 Android 成功生成 make 文件,它是相应的 android.toolchain.cmake 文件。当我尝试运行 makefile 时。我面对:

posix_memalign() undeclared identifier issue.

这里的 c 和 c++ 编译器是 clang,它是 Android ndk 的默认工具链。我不知道如何解决这个问题。请帮我解决这个问题。

我使用的是 Windows 操作系统。我生成了 msys makefile。

最佳答案

我已经解决了这个问题。 stdlib 是 posix_memalign() 函数所需的头文件。 Android ndk 支持 ANDROID API 级别高于或等于 16 的 posix_memalign() 函数。 通过在 cmake 选项中添加 -DANDROID_NATIVE_API_LEVEL=16,我能够解决这个问题。

路径:/sysroot/usr/include/stdlib.h

#if __ANDROID_API__ >= 16

int posix_memalign(void** memptr, size_t alignment, size_t size)  __INTRODUCED_IN(16);

#endif /* __ANDROID_API__ >= 16 */

谢谢!!!!

关于Android ndk r15b - Posix_memalign () 未声明的标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44852378/

相关文章:

android - 使用 Android 登录时未设置 Passport.js session

java - 如何在 ImageView android上绘制文本

java - Firebase 数据库问题

gcc - 在至强融核上使用 GCC

android - android中的证书解析器

Android - 访问预编译库中的 native 函数

android - 分配了输入过滤器的编辑文本/在横向模式下隐藏小数分隔符

c - 使用 gcc 原子内置函数?

android - 使用预编译 header 时 GCC 失败且没有消息

android - 我正在尝试在我的项目中使用 freeimage 库..导致错误