编译libiconv库之后,发现库文件有1M多,经过压缩之后还是有600~700K,对于flash很小的嵌入式系统来说,简直就是致命的,而且该库中的很多编码方式并不是我们所需要的。如果自己重新写编码转换的话,又很耗时间。个人认为裁减libiconv库是一个不错的选择,google了一下,发现根本没有关于裁减这个库的资料。所以,尝试着作了裁减。以下是我操作的相关步骤,供有需要的朋友参考。
1、从官网上下载libiconv库,最新版本下载的链接地址:http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
2、解压下载的库文件
# tar -xzvf libiconv-1.14.tar.gz
3、修改相应的三个文件(converters.h,encodings.def,aliases.h)即可,都位于libiconv-1.14/lib目录下,以下以删减iso2022_kr编码库为例:
a.去除converters.h中定义的头文件
#if 0
#include "iso2022_kr.h"
#endif
在终端执行./configure & make,出现以下错误:
make[1]: Entering directory `/root/example/libiconv-1.14/lib'
/bin/sh ../libtool --mode=compile gcc -I. -I. -I../include -I./../include -I.. -I./.. -g -O2 -fvisib
1、从官网上下载libiconv库,最新版本下载的链接地址:http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
2、解压下载的库文件
# tar -xzvf libiconv-1.14.tar.gz
3、修改相应的三个文件(converters.h,encodings.def,aliases.h)即可,都位于libiconv-1.14/lib目录下,以下以删减iso2022_kr编码库为例:
a.去除converters.h中定义的头文件
#if 0
#include "iso2022_kr.h"
#endif
在终端执行./configure & make,出现以下错误:
make[1]: Entering directory `/root/example/libiconv-1.14/lib'
/bin/sh ../libtool --mode=compile gcc -I. -I. -I../include -I./../include -I.. -I./.. -g -O2 -fvisib