解决嵌入式linux系统下iconv库的移植问题

时间:2024-03-24 19:05:44

一、解决问题
    在arm开发板上使用framebuff,在汉字显示时,因为只有gb2312的16*16的汉字字库,而ubuntu16.04默认
    的编码方式时utf-8,因此需要进行转码(utf-8->gb2312),转码的原理是通过调用iconv库进行(iconv_open\
    iconv\iconv_close),而arm开发板与ubuntu缺少程序运行所需要的动态库,因此需要进行配置,否则将会在
    使用iconv_open时出现不合法的参数错误:

二、解决办法
1.解压libiconv-1.14.tar.gz,得到源文件
    - 配置生成Makefile:    ./configure CC=arm-linux-gcc --prefix="生成库的路径" --host=arm-linux
    - 编译:make
    - 安装(其实本质上是将文件整理到profix指定的路径下):make install
2. 将生成的文件下的lib/preloadable_libiconv.so拷贝到arm开发板上设置的根文件系统中的lib下
3.在etc/profile文件中添加 export LD_PRELOAD=/lib/preloadable_libiconv.so
    
    重启arm开发板,即可完成libiconv库的移植!