一、實驗報錯如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
<code>make[2]: Entering directory `/home/chen/tools/libiconv-1.14/srclib'</code>
<code>make[3]: Entering directory `/home/chen/tools/libiconv-1.14'</code>
<code>make[3]: Nothing to be done for `am--refresh'.</code>
<code>make[3]: Leaving directory `/home/chen/tools/libiconv-1.14'</code>
<code>gcc -DHAVE_CONFIG_H -DEXEEXT=\"\" -I. -I.. -I../lib -I../intl -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1 -g -O2 -c progname.c</code>
<code>In file included from progname.c:26:0:</code>
<code>./stdio.h:1010:2: error: invalid preprocessing directive #_GL_WARN_ON_USE</code>
<code>_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");</code>
<code>make[2]: *** [progname.o] Error 1font</code>
<code>make[2]: Leaving directory `/home/chen/tools/libiconv-1.14/srclib'</code>
<code>make[1]: *** [all] Error 2</code>
<code>make[1]: Leaving directory `/home/chen/tools/libiconv-1.14/srclib'</code>
<code>make: *** [all] Error 2</code>
二、解決方法
編輯/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儲存退出,重新編譯。
<a href="http://s3.51cto.com/wyfs02/M00/84/F7/wKiom1eYgnPRIavJAAAs4p0P2_s695.png" target="_blank"></a>
make && make install
本文轉自chengong1013 51CTO部落格,原文連結:http://blog.51cto.com/purify/1830780,如需轉載請自行聯系原作者