其他分享
首页 > 其他分享> > tcdrain函数调用与ndk工具链为Android

tcdrain函数调用与ndk工具链为Android

作者:互联网

我正在尝试通过使用android ndk编译我的c代码来使用termios.h中定义的tcdrain函数调用.

我有问题,因为当我构建最新的android ndk时,tcdrain没有在termios.h中定义,但是如果我进入android源代码,它在termios.h中定义为bionic.

例如:https://github.com/android/platform_bionic/blob/master/libc/include/termios.h#L44

但是当我构建ndk时,似乎在sysroot /usr/include / termios.h中有一个不同的termios.h文件?

为什么最新的ndk没有与最新的仿生/ libc文件相同的包含文件?

解决方法:

您链接的源代码声明只有在以下情况下才会定义这些函数

#if __ANDROID_API__ >= 21

所以,正如nayuta所说,只有使用–platform = android21配置的构建环境才能使用tcdrain.

如果你不能使用plafform android21,你仍然可以自己定义你需要的功能.

如果是tcdrain,可能会有替换

#define tcdrain(fd) ioctl(fd, TCSBRK, 1)

标签:libc,android,linux,android-ndk,toolchain
来源: https://codeday.me/bug/20190830/1768244.html