嵌入式平台移植 libiconv 库

2019-07-12 19:02发布

嵌入式平台移植 libiconv 库

一、交叉编译libiconv库
①下载:从官网下载libiconv库源码文件, 本文档使用的版本是 libiconv-1.10.tar.gz
libiconv下载链接
②解压:tar -xvzf libiconv-1.10.tar.gz
③编译前配置:
./configure --prefix=/root/libiconv-1.10 CC=arm-linux-gnueabihf-gcc -host=arm-linux -enable-shared
-enable-static

注:prefix:存放编译出来的文件夹;
CC:交叉编译工具链;
④编译和整理到指定的文件中
make
make install

⑤拷贝动态库文件 libiconv.so、libiconv.so.2、libiconv.so.2.3.0到虚拟机及嵌入式平台相应路径,如果用cp命令,必须加-a选项,如果不用则需手动维护文件链接属性:
虚拟机存放路径:
/root/toolchain/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/arm-linux-gnueabihf/lib
嵌入式平台存放路径:
/lib/
二、配置使用:
(1)eclipse配置:
程序中,将iconv.h头文件添加到工程中**#include “iconv.h”**。
Eclipse编译环境配置如下图所示:
1、 配置头文件路径;
在这里插入图片描述
2、 配置链接库选项及路径:
在这里插入图片描述
3、 配置完成后,交叉编译生成可执行文件。 (2)嵌入式开发板配置:
将生成的库文件中的 libiconv.so、libiconv.so.2、libiconv.so.2.3.0 拷贝到arm板的根文件系统的/lib库文件夹下,如果cp的话要加 -a 选项,保留软连接特性。为了避免破坏软连接特性,可以只将libiconv.so.2.3.0动态库拷贝到开发板/lib文件夹下,用以下指令手动创建软连接:
ln –s libiconv.so.2.3.0 libiconv.so.2 --嵌入式平台程序运行需要
ln –s libiconv.so.2.3.0 libiconv.so --eclipse编译程序需要
(3)Makfile文件配置(不用eclipse的情况):
Makefile中添加 -liconv 链接选项,添加动态库路径:
arm-linux-gnueabihf-gcc icon.c -o icon -L /root/libiconv-1.10/lib -liconv