编译libiconv

    技术2022-05-20  61

    2010-07-20 10:02

    欢迎看看我的另一个小窝,说不定有意外的精喜哦 ^_^ www.devres.info

    编译libiconvCC=arm-linux-gcc ./configure --build=i686-linux --host=arm-linux --prefix=/usr/local/arm-linuxmake && make install

     

    1、从sunfreeware分别下载gettext和libiconv 注意,是二进制的安装包,而不是源码包 2、gunzip 这两个软件包,然后 pkgadd -d gettext* pkgadd -d libiconv* 3、export PATH=/usr/local/bin:$PATH 这个目的是用来用gnu的iconv代替solaris自带的iconv 这样你就可以测试了。 $ iconv -l|grep -i UTF UTF-8 UTF-16 UTF-16BE UTF-16LE UTF-32 UTF-32BE UTF-32LE UNICODE-1-1-UTF-7 UTF-7 CSUNICODE11UTF7 $ iconv -l|grep -i unicode ISO-10646-UCS-2 UCS-2 CSUNICODE UCS-2BE UNICODE-1-1 UNICODEBIG CSUNICODE11 UCS-2LE UNICODELITTLE UNICODE-1-1-UTF-7 UTF-7 CSUNICODE11UTF7 你会发现这个iconv是支持utf-16的。我记得unicode指的就是utf-16 所以命令行测试,你就可以用 $iconv -f gb2312 -t utf-16 your_data_file 相比solaris自带的 /usr/bin/iconv -f gb2312 -t utf-16 test_conv.c 就报错。 注意上面不要在步骤4之后测试,否则用的库是gnu的,就不会报错了。 4、export LD_PRELOAD=/usr/local/lib/libiconv_plug.so 这个目的就是用来替换libc的缺省iconv库函数的 所以你测试源码中这样写 iconv_open("utf-16", "gb2312"); or iconv_open("gb2312", "utf-16"); 编译的时候需要带-liconv

    http://www.chinaunix.net/jh/23/203917.html

     


    最新回复(0)