./stdio.h:456:1: error: 'gets' undeclared here (not in a function)
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
^
make[4]: *** [localcharset.o] Error 1
make[4]: Leaving directory `/home/oldboy/tools/nagios/nagios-plugins-1.4.16/gl'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/oldboy/tools/nagios/nagios-plugins-1.4.16/gl'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/oldboy/tools/nagios/nagios-plugins-1.4.16/gl'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/oldboy/tools/nagios/nagios-plugins-1.4.16'
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
^
make[4]: *** [localcharset.o] Error 1
make[4]: Leaving directory `/home/oldboy/tools/nagios/nagios-plugins-1.4.16/gl'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/oldboy/tools/nagios/nagios-plugins-1.4.16/gl'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/oldboy/tools/nagios/nagios-plugins-1.4.16/gl'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/oldboy/tools/nagios/nagios-plugins-1.4.16'
make: *** [all] Error 2
查找这个文件位置./stdio.h
find / -name stdio.in.h
/home/oldboy/tools/nagios/nagios-plugins-1.4.16/gl/stdio.in.h
要修改stdio.in.h 内容
sed -i -e '/gets is a security/d' ./stdio.in.h
参考:http://www.dataguru.cn/thread-562562-1-1.html
http://www.l68.net/49.html
修复gets错误编译问题

本文解决了一个关于使用gets函数导致的编译错误问题,在编译过程中遇到stdio.h中未声明的gets函数错误提示,通过查找stdio.in.h文件并删除有关gets的安全警告信息解决了该问题。
782

被折叠的 条评论
为什么被折叠?



