- 简介
- 获取
- 配置
- 安装
- 查看
国际文本大多以Unicode编码。然而,由于历史原因,有时仍使用与语言或国家/地区相关的字符编码对其进行编码,随着互联网的出现和国家间文本的频繁交换,在这种情况下,即使从外国查看网页也是一种文本交换,这些编码之间的转换已成为必要。特别是,具有Windows操作系统的计算机仍然在具有传统(有限)字符编码的区域设置中运行。
某些程序,如邮件程序和Web浏览器,必须能够在给定的文本编码和用户的编码之间进行转换。其他程序在内部以Unicode存储字符串,以方便内部处理,并且在进行I/O时需要在内部字符串表示(Unicode)和外部字符串表示(传统编码)之间进行转换。GNU libiconv是两种应用程序的转换库。
细节
获取GNU libiconv包的源代码可以通过官网下载链接获得,或者通过Git存储库:
localhost@linux:~$ git clone https://git.savannah.gnu.org/git/project.git配置
localhost@linux:~$ mkdir ~/iconv2arm
localhost@linux:~$ tar zxvf libiconv-1.16.tar.gz
localhost@linux:~$ cd libiconv-1.16
localhost@linux:~/libiconv-1.16$ ./configure --host=arm-none-linux-gnueabi --prefix=${HOME}/iconv2arm
安装
localhost@linux:~/libiconv-1.16$ make localhost@linux:~/libiconv-1.16$ make install查看
localhost@linux:~/libiconv-1.16$ cd ~/iconv2arm
localhost@linux:~/iconv2arm$ ls -la
total 24
drwxrwxr-x 6 localhost localhost 4096 Apr 27 12:53 .
drwxr-xr-x 45 localhost localhost 4096 Apr 27 12:53 ..
drwxrwxr-x 2 localhost localhost 4096 Apr 27 12:53 bin
drwxrwxr-x 2 localhost localhost 4096 Apr 27 12:53 include
drwxrwxr-x 2 localhost localhost 4096 Apr 27 12:53 lib
drwxrwxr-x 5 localhost localhost 4096 Apr 27 12:52 share
localhost@linux:~/iconv2arm$ tree
.
├── bin
│ └── iconv
├── include
│ ├── iconv.h
│ ├── libcharset.h
│ └── localcharset.h
├── lib
│ ├── libcharset.a
│ ├── libcharset.la
│ ├── libcharset.so -> libcharset.so.1.0.0
│ ├── libcharset.so.1 -> libcharset.so.1.0.0
│ ├── libcharset.so.1.0.0
│ ├── libiconv.la
│ ├── libiconv.so -> libiconv.so.2.6.1
│ ├── libiconv.so.2 -> libiconv.so.2.6.1
│ └── libiconv.so.2.6.1
└── share
├── doc
│ ├── iconv.1.html
│ ├── iconv.3.html
│ ├── iconv_close.3.html
│ ├── iconvctl.3.html
│ ├── iconv_open.3.html
│ └── iconv_open_into.3.html
├── locale
│ ├── af
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── bg
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── ca
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── cs
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── da
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── de
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── el
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── eo
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── es
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── et
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── fi
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── fr
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── ga
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── gl
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── hr
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── hu
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── id
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── it
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── ja
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── lt
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── nl
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── pl
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── pt_BR
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── rm
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── ro
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── ru
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── sk
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── sl
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── sq
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── sr
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── sv
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── tr
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── uk
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── vi
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── wa
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ ├── zh_CN
│ │ └── LC_MESSAGES
│ │ └── libiconv.mo
│ └── zh_TW
│ └── LC_MESSAGES
│ └── libiconv.mo
└── man
├── man1
│ └── iconv.1
└── man3
├── iconv.3
├── iconv_close.3
├── iconvctl.3
├── iconv_open.3
└── iconv_open_into.3
83 directories, 62 files
localhost@linux:~/iconv2arm$ cd lib
localhost@linux:~/iconv2arm/lib$ file libiconv.so.2.6.1
libiconv.so.2.6.1: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped
确认无误后,即可将对应的库文件和相关的配置文件上传到开发板lib和usr目录中,当然也可以配合其他库文件进行相关的移植。


![[ 移植 ] [ 移植 ]](http://www.mshxw.com/aiimages/31/841404.png)
