c -未定义符号:fmemopen与Android NDK clang交叉编译时



我正在尝试编译一个(相当老的)C程序到Android ARM64。我已经得到了大多数的工作,但一个功能似乎给我麻烦:

ld: error: undefined symbol: fmemopen

我已经在我的程序中包含了stdio.h,它应该是可用的。我在其他地方读到fmemopen是Linux的东西,而其他一些平台(可能是Android?)不支持它。有人知道这是真的吗?stdio.h的其他函数(例如fopen)似乎编译得很好。

fmemopen就在stdio.h中:

#if __ANDROID_API__ >= 23
FILE* fmemopen(void* __buf, size_t __size, const char* __mode) __INTRODUCED_IN(23);
#endif /* __ANDROID_API__ >= 23 */

正如include守卫所指示的,你至少需要编译android版本23。

相关内容

  • 没有找到相关文章

最新更新