一、实验报错如下:
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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。