linux下c语言源码编译

本文详细解析了源码编译的一般过程,包括预处理、编译、汇编、链接和执行,以及使用./configure、make和make install命令进行的三步操作。特别聚焦于nginx的安装步骤,从配置选项的设定、依赖环境的检查到最终的程序安装,全面覆盖源码包操作前的准备、依赖包的解决方法以及常见问题的处理。

一、源码编译过程

   源码  ---》 预处理 ---》 编译 ---》 汇编 ---》 链接 ---》执行

   我们可以把它分为三部分来完成: ./configure --->  make ---> make  install。其中,make完成了编译汇编的过程,是根据makefile文件来完成的;makefile是configure根据makefile.in的模板来生成的;makefile.in是由一个叫做automake的工具生成的。make  install执行的过程是把编译好的二进制文件复制到指定目录。

二、安装nginx的过程

   1)第一步:./configure [option]              # 常用参数如下,若想了解,使用--help查看即可

   作用:1.用户可以通过选项传递参数给configure脚本,一指定启动的功能特性、安装路径;二configure脚本在执行过程中会参考用户的指定以及makefile.in文件来生成makefile文件。2、检查程序指定要启用的功能特性锁依赖的外部环境。

   # 首先,我们按照好的参数,进行makefile文件的生成,会出现以下结果:(由于缺少gcc编译器)

  

   解决方法: yum  install  gcc  -y         # 安装gcc编译器

   # 当编译器安装好之后,再次执行操作,会出现另一个问题(缺少依赖包):

  

   解决方法: yum  install  -y   pcre-devel.x86_64

  

   解决方法: yum  install -y  openssl-devel

   # 依赖包解决之后,再次执行命令,则会生成makefile文件

  

   2)make

   作用:它会执行真正的编译操作,但make本身并不是编译器,它只是一个项目构建工具;make会根据生成的makefile文件 ,调用编译器gcc来编译应用的程序(生成机器语言) 。

   3)make  install 

   作用:在make执行完成之后进行的操作,它会在当前目录下创建出已经编译完成的目标二进制格式的程序(包含二进制程序,库文件,配置文件、帮助文档等);而make  install则进行安装已经编译好的程序包(二进制程序、库文件、配置文件、帮助文档等)并复制到用户指定的各个目录下。

   注意:1.我们在进行源码包的操作之前,首先要在官网上下载源码包(一般为bz2或gz形式,若包中含有install文档可以进行查看),接着在目录下解压源码包,解压一般使用命令: tar zxf 软件包名。2、上面make之后,可以使用make clean 将编译的参数清空,接着重新make。3、若configure发现错误,可使用makedistclean,将configure参数全部清空,接着重新./configure --》 make ---》 make  install。

 

转载于:https://www.cnblogs.com/uthnb/p/9694405.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值