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

时间:2017-06-30 17:55:01

标签: android gcc android-ndk

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

  

posix_memalign()未声明的标识符问题。

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

我正在使用Windows操作系统。我生成了msys makefile。

1 个答案:

答案 0 :(得分:4)

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

路径:#if __ANDROID_API__ >= 16 int posix_memalign(void** memptr, size_t alignment, size_t size) __INTRODUCED_IN(16); #endif /* __ANDROID_API__ >= 16 */

{{1}}

谢谢!!!!