0

0

Linux如何从源码编译安装软件_configure与make命令详解

蓮花仙者

蓮花仙者

发布时间:2025-09-28 12:48:01

|

452人浏览过

|

来源于php中文网

原创

答案是掌握 ./configure 和 make 的作用与用法可完成 Linux 源码编译安装。1. configure 检查系统环境并生成 Makefile,确保编译条件满足,支持 --prefix、--enable、--with 等选项定制安装;2. make 读取 Makefile 并调用编译工具链编译源码,-j 参数可加速,clean 清除产物,install 安装文件至指定路径;3. 完整流程包括解压、配置、编译和安装,常见问题如缺少编译器或依赖库需提前解决,安装后注意 PATH 设置。

linux如何从源码编译安装软件_configure与make命令详解

在Linux系统中,从源码编译安装软件是一项基础且重要的技能。它让你能使用最新版本的软件、启用特定功能或在没有预编译包的环境中部署程序。整个过程通常包括解压源码、配置、编译和安装四个步骤,其中 ./configuremake 是核心环节。下面详细说明这两个命令的作用与用法。

configure:检查环境并生成Makefile

configure 是一个脚本,通常由 GNU Autotools 生成,它的主要任务是探测当前系统的环境,确保具备编译所需的基本条件,并根据检测结果生成适合本机的 Makefile 文件。

运行方式一般为:

./configure

执行后,脚本会自动检查以下内容:

  • 是否存在必要的编译器(如 gcc)
  • 依赖库是否已安装(如 zlib、openssl
  • 头文件路径是否正确
  • 目标系统的架构和操作系统类型

如果某项检查失败,configure 会报错并提示缺少什么组件,你需要先安装对应开发包(如 CentOS 中的 .devel 包,Ubuntu 中的 -dev 包)。

configure 支持多种常用选项来定制安装行为:

  • --prefix=PATH:指定软件安装路径,默认通常是 /usr/local
  • --enable-FEATURE:开启某项功能(如 --enable-debug)
  • --disable-FEATURE:关闭某项功能
  • --with-PACKAGE:指定依赖的外部库路径
  • --without-PACKAGE:不使用某依赖

例如:

./configure --prefix=/opt/myapp --enable-shared --disable-static

make:根据Makefile进行编译

configure 成功执行后,会生成一个或多个 Makefile 文件。接下来运行 make 命令,它会读取这些文件,按照规则调用编译器(如 gcc)、链接器等工具,将源代码编译成可执行文件或库。

基本用法:

Remover
Remover

几秒钟去除图中不需要的元素

下载
make

make 的工作流程大致如下:

  • 分析源码文件间的依赖关系
  • 按顺序编译 .c 或 .cpp 文件为对象文件(.o)
  • 将对象文件链接成最终的可执行程序或动态/静态库

你可以通过添加参数控制编译过程:

  • make -j N:使用 N 个进程并行编译,加快速度(如 make -j4)
  • make clean:清除之前编译生成的文件,重新开始
  • make install:将编译好的文件复制到指定目录(需配合 configure 的 --prefix 使用)

完整安装流程示例

以从源码安装一个假想的程序 example-app 为例:

tar -zxvf example-app-1.0.tar.gz
cd example-app-1.0
./configure --prefix=/usr/local/example-app
make
sudo make install

这四步分别完成解压、配置、编译和安装。注意最后一步可能需要 root 权限,因为要写入系统目录。

常见问题与注意事项

在实际操作中,可能会遇到以下情况:

  • 缺少 gcc 或 make 工具:需先安装 build-essential(Debian/Ubuntu)或 Development Tools(CentOS/RHEL)
  • configure 报错“C compiler cannot create executables”:检查是否装了 gcc,或权限问题
  • make 失败:查看错误输出,通常是某个头文件缺失或语法错误
  • 安装后命令找不到:确认 --prefix 路径是否加入 PATH 环境变量

建议编译前阅读源码目录中的 README 或 INSTALL 文件,里面通常有具体说明。

基本上就这些。掌握 configure 和 make 的作用与用法,就能应对大多数开源软件的源码安装需求。不复杂但容易忽略细节。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

702

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

572

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

545

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

297

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

380

2023.07.25

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

72

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号