在 Ubuntu 中 make 是否是系统自带的?怎么样查看Linux系统中是否有make?

news2024/12/13 14:50:54

make 命令 并不是所有 Ubuntu 系统都默认安装的,但它通常是开发工具链的一部分,许多开发者会在安装系统后配置它。make 是一个非常重要的构建工具,用于自动化编译和构建过程,特别是在编译软件或内核时。


make 的来源

  • make 是一个通用的构建工具,由 GNU 提供(GNU Make)。
  • 它根据一个名为 Makefile 的配置文件定义的规则,自动化执行一系列命令以构建目标,例如编译代码、链接库、生成最终的二进制文件等。

在 Ubuntu 中 make 是否自带?

  • 默认情况下,Ubuntu 的基础系统并不一定会安装 make,尤其是在最小化安装或桌面环境中。
  • 但是,如果安装了开发相关的工具或包管理器(如 build-essential),make 通常会被安装。

如何检查是否安装了 make

  1. 打开终端,输入以下命令:
    make --version
    
    如果 make 已安装,你会看到类似如下的版本信息:
    GNU Make 4.x
    

在这里插入图片描述

  1. 如果未安装,会显示类似以下的信息:
    Command 'make' not found, but can be installed with:
    sudo apt install make
    

如何安装 make

如果系统没有 make,可以通过以下步骤安装:

方法 1:单独安装 make
  1. 更新包列表:
    sudo apt update
    
  2. 安装 make
    sudo apt install make
    
方法 2:安装完整的开发工具链

如果你需要的不仅是 make,还包括其他编译工具(如 GCC、g++ 等),可以安装 build-essential 包,它包含了一系列常用的开发工具:

sudo apt update
sudo apt install build-essential

如何验证 make 是否安装成功?

  1. 运行命令:

    make --version
    

    如果显示版本信息,说明 make 安装成功。

  2. 测试编译一个简单项目,例如:

    • 创建一个简单的 Makefile
      all:
      	echo "Hello, make!"
      
    • 运行 make
      make
      
    • 输出结果应该是:
      Hello, make!
      

总结

  • make 并非 Ubuntu 系统自带,但可以很方便地通过包管理器安装。
  • 如果要进行开发或编译源码,通常需要安装 make 和其他开发工具(如 GCC、g++)。安装 build-essential 是一个快速的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2258830.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android系统(android app和系统架构)

文章目录 AndroidAndroid Apps四大组件 Android系统Platform API之下:一个微笑内核adb(Android Debug Bridge) Android包管理机制Android的Intent机制参考 Android LinuxFrameworkJVM 在Linux/Java上做了个二次开发?并不完全是:Android定义…

opencv——识别图片颜色并绘制轮廓

图像边缘检测 本实验要用到Canny算法,Canny边缘检测方法常被誉为边缘检测的最优方法。 首先,Canny算法的输入端应为图像的二值化结果,接收到二值化图像后,需要按照如下步骤进行: 高斯滤波。计算图像的梯度和方向。非极…

【Java笔记】LinkedList 底层结构

一、LinkedList 的全面说明 LinkedList底层实现了双向链表和双端队列特点可以添加任意元素(元素可以重复),包括null线程不安全,没有实现同步 二、LinkedList 的底层操作机制 三、LinkedList的增删改查案例 public class LinkedListCRUD { public stati…

(笔记)解决select下拉框默认选中selected属性不起作用问题

在 vue3 中使用 HTML原生开发,想给 select 下拉框选中 selected 属性不起作用。这是因为 vue3中使用了 Composition API(组合式 api),而 Composition API 中的响应式数据是独立的,不会自动更新到 DOM 中。可以使用 v-m…

国科大智能设备安全-APK逆向分析实验

APK逆向分析实验 使用APK常用逆向分析工具,对提供的移动应用程序APK文件进行逆向分析,提交逆向后代码和分析报告。具体任务如下: 任务一:安装并熟悉Apktool、Jadx等APK常用逆向工具的使用方法,对提供的Facebook Updat…

黑皮书-计算机科学导论02

目录 第二部分:计算机硬件 第5章计算机组成 5.1中央处理单元 Ⅰ.算数逻辑单元 Ⅱ.控制单元 Ⅲ.寄存器 5.2主存储器 Ⅰ.随机存取存储器(RAM) Ⅱ.只读存储器(ROM) 高速缓冲存储器(Cache) 5.3输入/输出子系统 Ⅰ.非存储设备 Ⅱ.存储设备(辅助存…

解决Linux安装yum时出现apt-get install E: 无法定位软件包问题

ubuntu系统安装mysql之前安装yum,出现报错:E: 无法定位软件包问题 (1)找到源镜像,备份 cd /etc/apt/ // 切换到/etc/apt/ 目录下 sudo cp sources.list sources.list.old // 先把源文件…

[工具升级问题] 钉钉(linux版)升级带来的小麻烦

本文由Markdown语法编辑器编辑完成。 1. 背景: 今日钉钉又发布了新的升级版本。由于我工作时使用的是Ubuntu 20.04版本,收到的升级推送信息是,可以升级到最新的7.6.25-Release版本。根据钉钉官方给出的历次更新版说明,这个新的版本&#xf…

UnityShaderLab 实现黑白着色器效果

实现思路:取屏幕像素的RGB值,将三个通道的值相加,除以一个大于值使颜色值在0-1内,再乘上一个强度值调节黑白强度。 在URP中实现需要开启Opaque Texture ShaderGraph实现: ShaderLab实现: Shader "Bl…

python学习笔记—8—数字精度控制

1. %m.nd %m.nf score 100 print("socre %5d"% score) salary 6.66 print("salary %4.2f" % salary)

TMGM平台怎么样?全面解析TMGM

在选择多资产交易平台时,投资者需要综合考虑多个因素,包括平台的安全性、交易条件、客户服务等。TMGM(TradeMax Global Markets)作为一家成立于2013年的平台,在外汇、股指、商品、加密货币等多个市场领域提供交易服务。…

Spring Boot 配置多数据源并手动配置事务

Spring Boot 配置多数据源并手动配置事务 一、为什么多数据源需要手动配置?二、配置多数据源1. 数据源配置类 (DataSourceConfig)2. 主数据库 MyBatis 配置类 (PrimaryDbMyBatisConfig)3. 从数据库 MyBatis 配置类 (SecondaryDbMyBatisConfig)4. application.yml 配…

微积分复习笔记 Calculus Volume 2 - 3.6 Numerical Integration

3.6 Numerical Integration - Calculus Volume 2 | OpenStax

axios请求之参数拼接

URL 查询参数传递数据 优点: 简洁性: URL 查询参数的方式比较简洁,适合传递少量的数据。缓存友好: 查询参数可以被浏览器缓存,适合 GET 请求,但对于 POST 请求,浏览器通常不会缓存。 缺点: 数据大小限制: U…

使用硬约束的物理信息神经网络(PINNs,Physics-Informed Neural Networks)求解一维泊松方程

背景 一维泊松方程定义为: u ′ ′ ( x ) f ( x ) u(x) f(x) u′′(x)f(x),边界条件为 x 0 x0 x0 和 x 1 x1 x1 处, u ( x ) 0 u(x) 0 u(x)0,其中, f ( x ) − π 2 sin ⁡ ( π x ) f(x) -\pi^2 \sin(\pi …

基于单片机的多功能函数信号发生器的设计(论文+源码)

系统总体设计思路 在本次课题为信号发生器,其系统整体架构如图2.1所示,在硬件结构上,其主要包括核心控制器AT89C51单片机,液晶显示器LCD1602,数模转换器DAC0832,运算放大器L358以及按键、LED指示灯等器件,…

Docker 安装 sentinel

Docker 安装系列 1、拉取 [rootTseng ~]# docker pull bladex/sentinel-dashboard Using default tag: latest latest: Pulling from bladex/sentinel-dashboard 4abcf2066143: Pull complete 1ec1e81da383: Pull complete 56bccb36a894: Pull complete 7cc80011dc6f: Pull…

解读数据资产管理实践白皮书(5.0版)深入学习掌握数据资产管理知识体系。

本文介绍了数据资产管理的重要性及其概述,详细阐述了数据资产管理的活动职能包括数据模型管理、数据标准管理、数据质量管理等,并强调了数据安全管理的重要性。文章还讨论了数据资产管理的保障措施和实践步骤,以及发展趋势和总结展望。 重点内…

【大前端vue:组件】vue鼠标滑动:平滑滚动效果 向左、向右

【大前端vue&#xff1a;组件】vue鼠标滑动&#xff1a;平滑滚动效果 向左、向右 <template><div class"tab-container"><div class"tab-wrapper"><h2 class"main-title">鼠标滑动&#xff1a;平滑滚动效果 向左、向右…

python脚本:向kafka数据库中插入测试数据

# coding:utf-8 import datetime import json import random import timefrom kafka import KafkaProducer生产者demo向branch-event主题中循环写入10条json数据注意事项&#xff1a;要写入json数据需加上value_serializer参数&#xff0c;如下代码producer KafkaProducer(val…