我是Android项目的新手。对于我的新任务,我需要为Android平台构建一个项目。我可以使用Android ndk使用cmakelists.txt
for Android成功生成make文件,并且它是相应的android.toolchain.cmake
文件。当我试图运行makefile
时。我正面临着:
posix_memalign()未声明的标识符问题。
这里c和c ++编译器是clang,它是Android ndk的默认工具链。我不知道如何解决这个问题。请帮我解决这个问题。
我正在使用Windows操作系统。我生成了msys makefile。
答案 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}}
谢谢!!!!