天天看點

編譯安裝libiconv報錯:./stdio.h:1010:1: error: 'gets' undeclared here (not in a function)

問題:

<code>In </code><code>file</code> <code>included from progname.c:26:0:</code>

<code>    </code><code>.</code><code>/stdio</code><code>.h:1010:1: error: ‘gets’ undeclared here (not </code><code>in</code> <code>a </code><code>function</code><code>)</code>

<code>    </code><code>_GL_WARN_ON_USE (gets, </code><code>"gets is a security hole - use fgets instead"</code><code>);</code>

<code>    </code><code>^</code>

<code>    </code><code>make</code><code>[2]: *** [progname.o] Error 1</code>

<code>    </code><code>make</code><code>[2]: Leaving directory `</code><code>/usr/local/src/zabbix-2</code><code>.4.7</code><code>/libiconv-1</code><code>.14</code><code>/srclib</code><code>'</code>

<code>    </code><code>make</code><code>[1]: *** [all] Error 2</code>

<code>    </code><code>make</code><code>[1]: Leaving directory `</code><code>/usr/local/src/zabbix-2</code><code>.4.7</code><code>/libiconv-1</code><code>.14</code><code>/srclib</code><code>'</code>

<code>    </code><code>make</code><code>: *** [all] Error 2</code>

解決:

<code>vi</code> <code>.</code><code>/srclib/stdio</code><code>.</code><code>in</code><code>.h</code>

<code> </code> 

<code>注釋掉698這一行</code>

<code>/*_GL_WARN_ON_USE (gets, </code><code>"gets is a security hole - use fgets instead"</code><code>);*/</code>

<code>原處添加下面3行</code>

<code>#if defined(__GLIBC__) &amp;&amp; !defined(__UCLIBC__) &amp;&amp; !__GLIBC_PREREQ(2, 16)</code>

<code> </code><code>_GL_WARN_ON_USE (gets, </code><code>"gets is a security hole - use fgets instead"</code><code>);</code>

<code>#endif</code>

<code>!注意下面還是有一個</code><code>#endif</code>

<code></code>

      本文轉自無形于有形  51CTO部落格,原文連結:http://blog.51cto.com/jinchuang/1947011,如需轉載請自行聯系原作者

繼續閱讀