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

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



  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值