大家好,欢迎来到IT知识分享网。
今天有网友问我他在编译某个文件的时候,提示libiconv.a 文件找不到,然后 留言:
这里首先有一个前提想说明一下:对于咱技术开发人员来讲,建议最好把什么是.a,什么是.so 什么事.lo 什么是.la,以及他们的区别与使用场景, 这些基础耐心补充一下,这样不论遇到安装或扩展什么库,才能真正游刃有余;
关于.a,.so 的介绍,后续有时间再细说;
今天就以libiconv.为例讲讲库的编译;
首先我们到官网或者库资源站点下载官方的libiconv库,比如可以从以下链接下载到不同版本的libicon库的源码包:
http://ftp.gnu.org/pub/gnu/libiconv/
下载完毕后,可以将库解压到一个目录下,比如我的是centos系统,我解压并放到了/usr/local/src/下;
然后cd libiconv-1.15 进入这个目录:
然后就按编译安装的三步走:
configure
make
make install
即可完成安装;
那么重要的就是,在第一步的时候,就需要你自己做区分,如果你是需要.so的动态扩展库,那么可以直接:
则步骤就是:
1.
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
如:
[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,今天就介绍到这里,谢谢大家;
我的 :
欢迎多多交流,一起进步!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/154429.html