一、解决问题
在arm开发板上使用framebuff,在汉字显示时,因为只有gb2312的16*16的汉字字库,而ubuntu16.04默认
的编码方式时utf-8,因此需要进行转码(utf-8->gb2312),转码的原理是通过调用iconv库进行(iconv_open
iconviconv_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库的移植!