ubuntu 安装iconv 库

来源:互联网 发布:js动态创建节点 编辑:程序博客网 时间:2024/06/05 07:11
包的下载页面http://www.gnu.org/software/libiconv/
$ ./configure --prefix=/usr/local$ make$ make install出现error: ‘gets’ undeclared here (not in a function) 错误,解决办法1. 
  1. wget -c http://www.itkb.ro/userfiles/file/libiconv-glibc-2.16.patch.gz
  2. cd libiconv-1.14/srclib
  3. patch -p1 stdio.in.h


这个补丁的内容如下

  1. --- srclib/stdio.in.h.orig 2011-08-07 16:42:06.000000000 +0300
  2. +++ srclib/stdio.in.h 2013-01-10 15:53:03.000000000 +0200
  3. @@ -695,7 +695,9 @@
  4. /* It is very rare that the developer ever has full control of stdin,
  5. so any use of gets warrants an unconditional warning. Assume it is
  6. always declared, since it is required by C89. */
  7. -_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
  8. +#if defined(__GLIBC__) && !defined(__UCLIBC__) && !__GLIBC_PREREQ(2, 16)
  9. + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
  10. +#endif
     #endif

第二种 改

libiconv-1.14/srclib/stdio.in.h

在stdio.in.h中找到 //_GL_WARN_ON_USE (gets, "gets is a securityhole - 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






0 0
原创粉丝点击