The latest version of Libiconv 1.14 does not currently support 64-bit systems and can only compile 32-bit libraries.
Libiconv 1.14:
Http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
Libiconv Introduction:
http://www.gnu.org/software/libiconv/
Linux System compilation Installation method:
$./configure--prefix=/usr/local$ make$ make install
Execute make will error:
./stdio.h:1010:1: Error: ' gets ' undeclared here (not in a function)
_gl_warn_on_use (Gets, "gets is a security hole-use fgets instead");
^
MAKE[2]: * * [PROGNAME.O] Error 1
MAKE[2]: Leaving directory '/home/min/projects/libiconv-1.14/srclib '
MAKE[1]: * * [ALL] Error 2
MAKE[1]: Leaving directory '/home/min/projects/libiconv-1.14/srclib '
Make: * * * [ALL] Error 2
Modify Method Reference: Resolve compilation Libiconv times wrong:./stdio.h:1010:1: Error: ' gets ' undeclared here (not in a function)
Make can be passed after modification, but the make install or error will be executed:
/usr/bin/install:cannot Create regular file '/usr/local/lib/libcharset.so.1.0.0 ': Permission denied
MAKE[2]: * * [Install] Error 1
MAKE[2]: Leaving directory '/home/min/projects/libiconv-1.14/libcharset/lib '
MAKE[1]: * * [Install] Error 2
MAKE[1]: Leaving directory '/home/min/projects/libiconv-1.14/libcharset '
Make: * * [Install] Error 2
Prompt permission denied, need to install with administrator privileges, first execute SU or install directly with sudo make install.
--------------------------------
Android NDK compilation iconv, reference: NDK compilation Iconv
Compiled is 32 bits, 64 of the failed to compile successfully.
The compiled MK file under the NDK directory is only compiled with 32-bit libraries, android.mk files are located at: Android-ndk-r10e/sources/android/support
The contents are as follows, and theiconv.c file is compiled only in 32-bit libraries
Local_path: = $ (call My-dir)
Android_support_c_includes: = $ (Local_path)/include
Ifneq ($ (Filter $ (ndk_known_device_abi64s), $ (Target_arch_abi)),)
# 64-bit ABIs
Android_support_sources: = \
SRC/MUSL-LOCALE/CATCLOSE.C \
SRC/MUSL-LOCALE/CATGETS.C \
Src/musl-locale/catopen.c
Else
# 32-bit ABIs
Android_support_sources: = \
SRC/LIBDL_SUPPORT.C \
SRC/LOCALE_SUPPORT.C \
SRC/MATH_SUPPORT.C \
SRC/STDLIB_SUPPORT.C \
SRC/WCHAR_SUPPORT.C \
SRC/LOCALE/DUPLOCALE.C \
SRC/LOCALE/FREELOCALE.C \
SRC/LOCALE/LOCALECONV.C \
SRC/LOCALE/NEWLOCALE.C \
SRC/LOCALE/USELOCALE.C \
SRC/STDIO/STDIO_IMPL.C \
SRC/STDIO/STRTOD.C \
SRC/STDIO/VFPRINTF.C \
SRC/STDIO/VFWPRINTF.C \
SRC/MSUN/E_LOG2.C \
SRC/MSUN/E_LOG2F.C \
SRC/MSUN/S_NAN.C \
SRC/MUSL-CTYPE/ISWALNUM.C \
SRC/MUSL-CTYPE/ISWALPHA.C \
SRC/MUSL-CTYPE/ISWBLANK.C \
SRC/MUSL-CTYPE/ISWCNTRL.C \
SRC/MUSL-CTYPE/ISWCTYPE.C \
SRC/MUSL-CTYPE/ISWDIGIT.C \
SRC/MUSL-CTYPE/ISWGRAPH.C \
SRC/MUSL-CTYPE/ISWLOWER.C \
SRC/MUSL-CTYPE/ISWPRINT.C \
SRC/MUSL-CTYPE/ISWPUNCT.C \
SRC/MUSL-CTYPE/ISWSPACE.C \
SRC/MUSL-CTYPE/ISWUPPER.C \
SRC/MUSL-CTYPE/ISWXDIGIT.C \
SRC/MUSL-CTYPE/TOWCTRANS.C \
SRC/MUSL-CTYPE/WCSWIDTH.C \
SRC/MUSL-CTYPE/WCTRANS.C \
SRC/MUSL-CTYPE/WCWIDTH.C \
SRC/MUSL-LOCALE/CATCLOSE.C \
SRC/MUSL-LOCALE/CATGETS.C \
SRC/MUSL-LOCALE/CATOPEN.C \
src/musl-locale/iconv.c \
SRC/MUSL-LOCALE/INTL.C \
Character transcoding Open Source Library Libiconv currently does not support 64-bit