一、实验报错如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
make[2]: Entering directory `/home/chen/tools/libiconv-1.14/srclib' make[3]: Entering directory `/home/chen/tools/libiconv-1.14' make[3]: Nothing to be done for `am--refresh'. make[3]: Leaving directory `/home/chen/tools/libiconv-1.14' gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -I../lib -I../intl -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1 -g -O2 -c progname.c In file included from progname.c:26:0: ./stdio.h:1010:2: error: invalid preprocessing directive #_GL_WARN_ON_USE _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); make[2]: *** [progname.o] Error 1font make[2]: Leaving directory `/home/chen/tools/libiconv-1.14/srclib' make[1]: *** [all] Error 2 make[1]: Leaving directory `/home/chen/tools/libiconv-1.14/srclib' make: *** [all] Error 2 |
二、解决方法
编辑/home/chen/tools/libiconv-1.14/srclib下的stdio.in.h,找到如下代码:
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
改为如下代码:
#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16) _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif
#endif
注意:上面为两个#endif保存退出,重新编译。
make && make install
本文转自chengong1013 51CTO博客,原文链接:http://blog.51cto.com/purify/1830780,如需转载请自行联系原作者