由上文表示,软件编译分为预处理-编译-汇编-链接4个步骤,并介绍了使用gcc命令将c语言的源代码编译成可执行文件,现实中的程序包由多个源码文件组成,本文介绍如何将多个源码文件编译成程序包;
C/C++源码编译:使用make项目管理器进行编译,主要有 configure脚本-makefile.in-makefile
相关工具:autoconf:生产configure脚本 automake:生产makefile.in java源码编译:使用maven
编译安装过程
1、 ./configure 通过选项传递参数,如安装路径,启用特性等个,执行过程会参考Makefile.in文件(模板)生成Makefile文件
选项分类:
安装路径设定:
--prefix=/PATH:指定默认安装位置,默认为/usr/local/
--sysconfdir=/PATH:配置文件安装位置
System types:支持交叉编译
软件特性和相关指定:
Optional Features: 可选特性
--disable-FEATURE
--enable-FEATURE[=ARG]
Optional Packages: 可选包
--with-PACKAGE[=ARG] 依赖包
--without-PACKAGE 禁用依赖关系
注意:通常被编译操作依赖的程序包,需要安装此程序包的“开发”组件,其包名一般类似于namedevel-VERSION
2、make 根据Makefile文件,检测依赖环境,进行构建应用程序
3、make install 复制文件到安装路径等
编译安装需要依赖相应的工具,需要提前安装:如 gcc make glib 等,可安装开放包组:development tools
编译安装后的配置
1、二进制程序文件目录导入PATH环境变量中或者在环境变量的目录中创建软链接
2、相关用户及文件:开源软件编译完成后,需要创建相关的用户及文件
3、导入帮助手册,编辑/etc/man.config|man_db.conf文件,添加MANPATH
程序包编译安装示例
cmatrix编译安装
查看到github上的cmatrix源码,说明文档中有标准化步骤
建立app目录,用于存放该应用,并下载tar包源码
使用tar命令解包,生成目录源码文件
使用./configure进行配置,指定prefix安装路径
使用make命令进行编译,出现报错,
使用yum search cruse 查询是否有类似包
使用make install 进行安装
查看安装目录具有bin文件等
在PATH环境变量中创建链接文件执行bin下cmatrix可执行文件,即可使用cmatrix命令
在man帮助文件中添加路径,就可使用帮助