我是 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/