libiconv库安装与静态链接库编译说明
来源:互联网 发布:策划相关书籍知乎 编辑:程序博客网 时间:2024/06/09 17:06
今天有网友问我他在编译某个文件的时候,提示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
[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
欢迎多多交流,一起进步!
- libiconv库安装与静态链接库编译说明
- libiconv VS2013 x64静态库编译
- linux下使用libiconv进行汉字编码问题的处理-----libiconv静态库的编译
- libiconv库链接问题一则
- libiconv静态编译
- linux编译生成动态链接库与静态链接库
- Qt静态库下载与安装说明
- 编译与静态链接
- 编译与静态链接
- libiconv编译与使用
- 静态编译,动态编译,静态链接库,动态链接库
- (转)libiconv库链接问题一则
- gcc 编译静态链接库
- (OK) 编译libiconv-1.14(静态库)—CentOS 7— android-ndk
- (OK) 编译libiconv-1.14(静态库)—CentOS 7— android-ndk
- 静态库/动态库的 生成与编译链接
- linux C编程入门之静态链接库、动态链接库的编译与链接
- 记录一下交叉编译libiconv动态库
- PHPstudy的apache80端口被占用解决方法
- 1.开班信息
- KabyLake也就是第七代酷睿处理器安装win7 HD620驱动
- oracle创建数据库表空间—新手可以看看,大佬勿喷
- Python 安装第三方库
- libiconv库安装与静态链接库编译说明
- 排列问题java实现
- IDEA 运行测试报错 Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred.
- Hibernate错误--关于invalid configuration
- 数据库——Oracle的sys和system默认密码
- switch与ifelse的效率问题
- CSS的继承、层叠和特殊性
- bzoj 3673 可持久化并查集 by zky
- Java项目经验——程序员成长的钥匙