文章目录
典型的开源项目编译方式整理,
以openssl源码的交叉编译为例,
查看源码目录
$ vim README
$ vim INSTALL
$ vim Configure
1/查看源码介绍,
2/查看编译安装文件介绍,
3/查看配置脚本,有的话,需要就看下
一般INSTALL会提供一套完整的编译/测试/安装流程以及参数配置.
一般流程:
找到Makefile文件
存在Makefile文件
$ make CC=交叉编译工具链信息,eg:arm-linux- 或者arm-linux-gcc
不存在Makefile文件
一定是要有办法生成地,
./config或者cmake
$./config no-asm shared --cross-compile-prefix=arm-linux- --prefix=/home/guo/work/lib_src/mqtt/open_dir/opt/openssl --openssldir=/home/guo/work/lib_src/mqtt/open_dir/usr/local/ssl --libdir=/home/guo/work/lib_src/mqtt/open_dir/usr/lib
这一堆的参数含义,需要查询INSTALL等文件,甚至Configure脚本文件
当然,也可以不设置任何参数,生成Makefile后,在文件内修改
或者留待make环节 增加参数
注意:
一般的路径,要使用绝对路径
必备的make环节
$ make
或者
$ make 参数
可能的测试环节
仅为了保险起见,跑跑测试用例.
$ make test
可能的安装环节
$ make install
完整的openssl源码编译生成动态库流程
特殊需要,索引将安装的路径指定在如下的绝对路径下:
/home/guo/work/lib_src/mqtt/open_dir/
小伙伴们可以自行指定甚至默认
流程如下:
$ ./config no-asm shared --cross-compile-prefix=arm-linux- --prefix=/home/guo/work/lib_src/mqtt/open_dir/opt/openssl --openssldir=/home/guo/work/lib_src/mqtt/open_dir/usr/local/ssl --libdir=/home/guo/work/lib_src/mqtt/open_dir/usr/lib
$ make
$ make install
结果展示: