我正在尝试使用通过android ndk编译我的C代码来使用termios.h中定义的tcdrain函数调用。
我遇到问题是因为构建最新的android ndk时,不会在termios.h中定义tcdrain,但是,如果我进入android源代码,则会在termios.h中为仿生定义它。
例如: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所说,您tcdrain
只能使用配置了的构建环境--platform=android21
。
如果您不能使用plafform android21,则仍可以定义自己所需的功能。
如果使用tcdrain,则可能是
#define tcdrain(fd) ioctl(fd, TCSBRK, 1)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句