libiconv库安装与静态链接库编译说明

今天有网友问我他在编译某个文件的时候,提示libiconv.a 文件找不到,然后qq 留言:

这里首先有一个前提想说明一下:对于咱技术开发人员来讲,建议最好把什么是.a,什么是.so 什么事.lo 什么是.la,以及他们的区别与使用场景, 这些基础耐心补充一下,这样不论遇到安装或扩展什么库,才能真正游刃有余;

关于.a,.so 的介绍,后续有时间再细说;

今天就以libiconv.为例讲讲库的编译;

首先我们到官网或者库资源站点下载官方的libiconv库,比如可以从以下链接下载到不同版本的libicon库的源码包:

http://ftp.gnu.org/pub/gnu/libiconv/

http://mirror.hust.edu.cn/gnu/libiconv/

下载完毕后,可以将库解压到一个目录下,比如我的是centos系统,我解压并放到了/usr/local/src/下;

然后cd  libiconv-1.15 进入这个目录:

然后就按编译安装的三步走:

configure

make 

make install 

即可完成安装;

那么重要的就是,在第一步的时候,就需要你自己做区分,如果你是需要.so的动态扩展库,那么可以直接:

./configure --prefix=/home/work/app/libiconv/  (提示:请先确认/home/work/app/libiconv/  目录是否存在,如果不存在的话则可以创建,当然你也可以将其安装到其他任何你想安装的目录下面,如果默认不写--prefix路径的话,会自动安装到/usr/local下面的)

则步骤就是:

1.

./configure --prefix=/home/work/app/libiconv/ 

2.

make 

3.

make install

这个时候,你去/home/work/app/libiconv/  目录下查看,进入其lib子目录,就会看到相关的动态库(.so类文件)


相应地,如果是需要编译并安装生成静态库.a文件,则同样也是三步走,唯一的区别就是在./configure的步骤这里:

在这步的时候你需要指定库类型 --enable-static --disable-shared ,即 :

1.

./configure --prefix=/home/work/app/libiconv/    --enable-static --disable-shared  

2.

make 

3.

make install

三步走安装成功后,同样地,进入到./lib目录下,就会查看到相应的静态库文件(.a类文件)

如:

[root@dev001-241 lib]# pwd
/home/work/app/libiconv/lib
[root@dev001-241 lib]# tree
.
├── charset.alias
├── libcharset.a
├── libcharset.la
├── libiconv.a
├── libiconv.la
└── preloadable_libiconv.so

ok,今天就介绍到这里,谢谢大家;

我的qq :

1760282809

363232564

欢迎多多交流,一起进步! 



发布了62 篇原创文章 · 获赞 11 · 访问量 12万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览