首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >make编译安装程序的技巧

make编译安装程序的技巧

作者头像
鳄鱼儿
发布于 2024-08-19 06:06:29
发布于 2024-08-19 06:06:29
29100
代码可运行
举报
运行总次数:0
代码可运行

前言

Linux 中,源码安装软件灵活且适应性强,适用于各种平台,同时也方便维护,比如我们可以指定安装路径。

通常,源码安装包括以下三个步骤:

  1. 配置(configure
  2. 编译(make
  3. 安装(make install

每个软件的具体安装方法通常会在文档中详细说明。这里特别介绍一下配置过程中 configure--prefix 选项的使用方法。

配置安装路径

假设我们要安装软件 strongswan 并希望将其安装到 /ipsec 目录。在 strongswan 目录中执行以下命令:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
./configure –prefix=/ipsec

通过 ./configure 配置成功后,再执行编译和安装命令(makemake install)。

安装完成后,所有相关文件将被放置在 /ipsec 目录中。

为什么要指定 --prefix 选项?

指定安装目录有以下几个好处:

  1. 方便维护:如果不指定 --prefix,安装过程会将文件分散到多个系统目录中,后续维护时很难确定哪些文件被安装到了哪些位置。
  2. 简化卸载:如果某个软件不再需要,直接删除指定的安装目录即可干净卸载该软件。
  3. 方便移植:只需将整个目录拷贝到另一台相同操作系统的机器上即可完成软件移植。

注意

  • ./configure --prefix=/ 仅用于指定程序的存放路径。
  • 如果不指定 --prefix,默认情况下,可执行文件会放在 /usr/local/bin,库文件放在 /usr/local/lib,配置文件放在 /usr/local/etc,其他资源文件放在 /usr/local/share
  • 编译安装完成后,源码也不要随意删除了,我们还可以通过 make uninstall 指令卸载目标程序。

Make 命令说明

Makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile 就像一个 Shell 脚本一样,其中也可以执行操作系统的命令

makefile 是什么

Makefile 定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为 makefile 就像一个 Shell 脚本一样,其中也可以执行操作系统的命令。

Makefile 带来的好处就是–“自动化编译”, 一旦写好,只需要一个 make 命令,整个工程完全自动编译,极大的提高了软件开发的效率。Make 是一个命令工具,是一个解释 makefile 中指令的命令工具,一般来说,大多数的 IDE 都有这个命令,比如:Delphi 的 make, Visual C++的 nmake, Linux 下 GNU 的 make. 可见,makefile 都成为了一种在工程方面的编译方法。

常用 make 命令
  • make 根据 Makefile 文件编译源代码、生成目标文件和可执行文件。
  • make clean 清理上次编译产生的对象文件(如 .o 文件)和可执行文件。
  • make install 将编译成功的可执行文件安装到系统目录中,通常为 /usr/local/bin
  • make dist 生成发布软件包,通常为一个 tar.gz 压缩文件,用于发布软件。
  • make distcheck 生成发布软件包并进行测试检查,确保发布包的正确性。
  • make distclean 类似于 make clean,但还会删除由 configure 生成的文件,包括 Makefile。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-08-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
linux下如何使用configure/make/make install命令编译安装卸载程序
源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。安装成功的源码就是所谓的可执行文件,在你不需要的时候,也是可以删除/卸载(remove/uninstall)的。下面就逐个进行分析:
砍鸡鸡
2021/02/26
5.2K0
Linux软件安装管理之--源码包安装
在 Windows 系统中的应用程序大多是闭源软件,这些软件的开发商在发行软件前会将软件编译为二进制软件,用户一般只能通过软件提供的安装程序进行安装。
用户1679793
2020/05/21
3.6K0
./configure、make、make install 命令详解一、基本信息二、详细解释
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤 一、基本信息 1、./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。 2、make 是用来编译的,它从Makefile中读取指令,然后编译。 3、make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。 注意:AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。 二、详细解释 1、con
JavaEdge
2018/06/07
5.5K0
linux实战(11)Linux下常用安装服务软件源码编译安装方式与实战部署JDK环境
源码安装优点:编译安装过程,可以设定参数,指定安装目录,按照需求进行安装,指定安装的版本,灵活性比较大。
大数据小禅
2021/08/16
5900
linux实战(11)Linux下常用安装服务软件源码编译安装方式与实战部署JDK环境
Linux软件卸载_linux系统怎么卸载一个软件
2.1. 进入下载包目录 2.2. 解压下载包:tar xvzf filename.tar.gz 2.3. 进入解压目录 2.4.
全栈程序员站长
2022/10/03
18.8K0
Linux软件卸载_linux系统怎么卸载一个软件
【精通Linux系列】Linux下常用安装服务软件源码编译安装方式与实战部署JDK环境
源码安装优点:编译安装过程,可以设定参数,指定安装目录,按照需求进行安装,指定安装的版本,灵活性比较大。
大数据小禅
2021/12/21
5510
【精通Linux系列】Linux下常用安装服务软件源码编译安装方式与实战部署JDK环境
Python安装报错:”ModuleNotFoundError:No module named _ctypes“ 的解决方案[通俗易懂]
# 下载地址:https://www.python.org/ftp/python/
Java架构师必看
2022/06/06
6.5K0
Linux[高级管理]——使用源码包编译安装Apache网站
在Linux系统上编译和安装Apache HTTP Server是管理员和开发人员常用的一项技能。这种方法提供了更大的灵活性和控制权,允许你根据特定需求自定义配置和模块。通过从源代码编译安装Apache,可以确保使用最新的功能和修复,同时优化服务器性能和安全性。本文将详细介绍如何从源码包下载、解压、配置、编译和安装Apache HTTP Server,并进行基本配置以启动和运行一个Apache网站。
神秘泣男子
2024/06/03
9700
Linux[高级管理]——使用源码包编译安装Apache网站
Linux软件管理 - 编译安装
文本关键字:Linux、软件管理、configure、make、make install
一头小山猪
2020/04/10
3.5K0
Ubuntu实现树莓派交叉编译
在一个平台上生成另一个平台上的可执行代码。为什么要大费周折的进行交叉编译呢?一句话:不得已而为之。有时是因为目的平台上不允许或不能够安装所需要的编译器,而又需要这个编译器的某些特征;有时是因为目的平台上的资源贫乏,无法运行所需要的编译器;有时又是因为目的平台还没有建立,连操作系统都没有,根本谈不上运行什么编译器。
用户8705057
2021/06/08
2.7K0
LINUX CENTOS7下安装PYTH
Centos7默认安装了python2.7.5 因为一些命令要用它比如yum 它使用的是python2.7.5。
py3study
2020/01/13
8050
软件管理
导语: 安装软件 rpm yum 源码安装 ​ 卸载软件 一、rpm介绍 rpm软件包名称: 软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律 #有依赖关系,不能自动解决依赖关系。 举例:openssh-6.6.1p1-31.el7.x86_64.rpm 数字前面的是名称 数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。 ====== ​ #用rpm安装需要考虑如下信息: 1.需要考虑系统的版本
用户8639654
2021/08/18
2K0
centos安装python3.7_怎么给电脑安装java环境
说明:本次配置使用root用户进行操作,故在代码中未使用sudo语句,请使用非root用户留意
全栈程序员站长
2022/11/08
6920
Linux 系统下用源码包安装软件
下载源码安装包,解压或者直接双击打开(如果有安装zip或rar等压缩/解压缩软件的话),查找相关的安装说明文件,一般是README,INSTALL这两个文件,这两个文件一般会告诉你怎么安装你所下载的软件,找到后用记事本或内部查看器打开,查看安装说明。
授客
2019/09/11
3.9K0
程序包编译安装
一、几个概念 1、开放源码 程序代码,人类可能读懂的程序语言,但是计算机不能识别和执行; 2、编译程序 将程序代码翻译成计算机可以识别的语言; 3、二进程程序 经过编译程序翻译后得到的可以被执行的程序文件。 二、编译源程序的步骤 1、configure 检测程序,并生成makefile文件,其检测的内容如下: 是否有适合的编译程序; 是否有本软件所需的函数库或其
小小科
2018/05/02
1.1K0
程序包编译安装
Linux下软件的安装与管理(四) 原
Linux 下安装软件有自己的一套方式,用户可以根据自己的需要和获得的软件包的不同,选择自己喜欢的安装方式,
wuweixiang
2018/08/14
3.8K0
Linux之软件安装
学软件开发,各种台的软件熟练安装是必须要熟练掌握。大家都知道,Windows下安装软件时,只需用鼠标双击软件的安装程序,或者用Zip等解压缩软件解压缩即可安装;在android或者apple中安装软件时,只需要在手机应用商店点击安装即可。而在Linux下安装软件难度高于Windows、Android、ios和windows phone下软件安装。下面我就详细讲解Linux下如何安装软件。
全栈程序员站长
2022/09/01
10.9K0
Autoconf编译配置
Linux中的configure/make/make install 到底在做些什么
全栈程序员站长
2022/09/02
1.3K0
Autoconf编译配置
Ubuntu 12.04 + opencv 2.4.1 + Qt 4.8.3 + Qt creater 2.5.2 安装配置
该文章介绍了一个基于Qt和OpenCV的图像处理小软件,包括软件的安装、使用示例和代码下载。
s1mba
2018/01/03
1.8K0
Ubuntu 12.04 + opencv 2.4.1 + Qt 4.8.3 + Qt creater 2.5.2 安装配置
linux软件安装(一)——源码安装
Linux软件简介 Linux上几乎所有的软件都经过了GPL授权,因此几乎所有的软件都会提供源码。 而一个软件要在Linux上执行,必须是二进制文件,因此当我们拿到软件源码后,需要将它编译成二进制文件才能在Linux上运行。 软件编译过程 将源码编译成可供Linux运行的二进制文件一共需要两步: 1. 使用gcc编译器将源码编译成目标文件 2. 再次使用gcc编译器将目标文件链接成二进制文件 这过程看似简单,实则不然。一个软件的源代码往往被封装在多个源文件中,此外这些文件有错综复杂的依赖关系,
大闲人柴毛毛
2018/03/09
4.9K0
推荐阅读
相关推荐
linux下如何使用configure/make/make install命令编译安装卸载程序
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档