当前位置: 首页 > news >正文

【Linux】sudo make install 命令往系统中安装了什么 指定目录进行安装

前情提要

假如我们通过源码安装的方式,安装一个动态库,风格往往是这样的:

# 克隆仓库
git clone https://github.com/xxx.git# 进入仓库目录
cd xxx

编译

# ... 可能有一些校验代码完整性的sh命令# 构建
mkdir build
cd build
cmake ..# 编译
make -j$(nproc)

安装

sudo make install

卸载

sudo make uninstall

思考一个关键问题:

如何预先知道 sudo make install 会往系统中安装什么东西?比如 sudo make install 接下来可能破坏系统中的一些依赖关系,又或者出于其他安全考虑;如果是一名开发者,也不一定会将动态库安装到/usr/local/lib这样的路径下,可能只是放在某个项目中,由 CMake 指定的规则进行构建。

一种办法是直接查看 makefile 文件,查找install 关键字。当然这不是一种好办法,makefile 可能是生成的,大型项目的 makefile 往往很复杂。

这里给出一种快速的方法,我们可以先创建一个临时文件夹,

mkdir ~/xxx_install
cd ~/xxx# 指定安装位置
make DESTDIR=~/xxx_install install

make install 之后,我们可能获得如下结构

请添加图片描述

lib 中可以查看即将安装的库。

请添加图片描述

相关文章:

【Linux】sudo make install 命令往系统中安装了什么 指定目录进行安装

前情提要 假如我们通过源码安装的方式,安装一个动态库,风格往往是这样的: # 克隆仓库 git clone https://github.com/xxx.git# 进入仓库目录 cd xxx编译 # ... 可能有一些校验代码完整性的sh命令# 构建 mkdir build cd build cmake ..# 编…...

RT-DETR融合CVPR[2020]轻量化卷积模块Ghost Module模块

RT-DETR使用教程: RT-DETR使用教程 RT-DETR改进汇总贴:RT-DETR更新汇总贴 《GhostNet: More Features from Cheap Operations》 一、 模块介绍 论文链接:https://arxiv.org/abs/1911.11907 代码链接:GitHub - huawei-noah/Effici…...

发布rust crate

文章目录 一、cargo构建的配置类型:dev与release两种1.编译级别2.将 crate 发布到 Crates.io对整个库的注释pub use再导出功能发布crates.io 参考 一、cargo构建的配置类型:dev与release两种 $ cargo buildFinished dev [unoptimized debuginfo] targe…...

Sequelize+Sqlite3使用示例

以下是一个简单的示例,展示了如何在Node.js中使用Express框架、Sequelize ORM以及SQLite数据库来构建一个支持RESTful API的Web应用程序。 一,安装必要的npm包: npm install express sequelize sqlite3 body-parser 二,创建Jav…...

MyBatisPlus 用法详解

MyBatisPlus 用法详解 MyBatis-Plus(简称MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。它提供了丰富的功能,包括强大的CRUD操作、条件构造器、自动填充、分页插件等&…...

强化学习入门笔记(Reinforcement Learning,RL) 强推!

由于本人的近期研究方向涉及到强化学习,本科时已经学习过了,但是感觉还是有些概念和算法没有学懂学透,所以想重新系统性的学习一下,记录了整个学习过程,而且对当时没有理解不是特别深刻的内容有了一些更加深刻的理解&a…...

C++ QT 工具日志异步分批保存

C QT 工具软件一般可以如此实现日志保存&#xff1a; #define THREAD_ID (reinterpret_cast<qulonglong>(QThread::currentThreadId()) & 0x0FFF) #define TIME (QDateTime::currentDateTime().toString("yyyy_MM_dd_hh_mm_ss_zzz"))#define LOGD(msg) qD…...

win32com库基于wps对Word文档的基础操作

win32com库基于wps对Word文档的基础操作 文章目录 win32com库基于wps对Word文档的基础操作新建/打开文档段落操作(Paragraph)字体设置(Font)图表操作(Shape) 参考链接: WAS API手册 新建/打开文档 import win32com import win32com.client as win32 # 启动WPS进程 word_obj …...

Kubernetes 网络之深度探索:网络模型与 CNI 插件

Kubernetes 网络之深度探索:网络模型与 CNI 插件 在 Kubernetes 中,网络是一个至关重要的组成部分。它不仅决定了容器之间如何通信,还影响着整个集群的可扩展性和稳定性。本节课将深入剖析 Kubernetes 的网络模型以及 CNI(Container Network Interface)网络插件。 一、K…...

Go 模块管理教程:go.mod 与依赖版本控制

Go 模块管理教程&#xff1a;go.mod 与依赖版本控制 Go 从版本 1.11 开始引入了 Go Modules&#xff0c;通过 go.mod 文件来管理项目的依赖关系和版本。Go 模块系统大大简化了 Go 项目的依赖管理&#xff0c;解决了之前 GOPATH 模式的许多问题。本教程将介绍如何使用 Go 模块管…...

大数据 ETL + Flume 数据清洗 — 详细教程及实例(附常见问题及解决方案)

大数据 ETL Flume 数据清洗 — 详细教程及实例 1. ETL 和 Flume 概述1.1 ETL&#xff08;Extract, Transform, Load&#xff09;1.2 Flume 概述 2. Flume 环境搭建2.1 下载并安装 Flume2.2 启动 Flume 3. Flume 配置和常见 Source、Sink、Channel3.1 Flume Source3.2 Flume Si…...

鸿蒙next版开发:订阅应用事件(ArkTS)

在HarmonyOS 5.0中&#xff0c;ArkTS提供了强大的应用事件订阅机制&#xff0c;允许开发者订阅和处理系统或应用级别的事件。这一功能对于监控应用行为、优化用户体验和进行性能分析至关重要。本文将详细介绍如何在ArkTS中订阅应用事件&#xff0c;并提供示例代码进行说明。 应…...

F litter 开发之flutter_local_notifications

flutter_local_notifications 消息通知 flutter_local_notifications地址 flutter_local_notifications: ^18.0.1class NotificationHelper {//工厂模式调用该类时&#xff0c;默认调用此方法&#xff0c;将实例对象返回出去static NotificationHelper? _instance null;sta…...

springboot参数校验

springboot 参数校验 Validated 以及 Valid - 唏嘘- - 博客园 SpringBoot参数校验Validated、Valid_springboot validate-CSDN博客...

Spring生态学习路径与源码深度探讨

引言 Spring框架作为Java企业级开发中的核心框架&#xff0c;其丰富的生态系统和强大的功能吸引了无数开发者的关注。学习Spring生态不仅仅是掌握Spring Framework本身&#xff0c;更需要深入理解其周边组件和工具&#xff0c;以及源码的底层实现逻辑。本文将从Spring生态的学…...

C++:set详解

文章目录 前言一、set概念介绍二、set的使用1. 插入删除相关2. 查找相关1&#xff09;find2&#xff09;count3&#xff09;lower_bound与upper_bound4&#xff09;equal_range 三、set的值是不能修改的原理四、基于哈希表的set总结 前言 根据应用场景的不同&#xff0c;STL总…...

(一)- DRM架构

一&#xff0c;DRM简介 linux内核中包含两类图形显示设备驱动框架&#xff1a; FB设备&#xff1a;Framebuffer图形显示框架; DRM&#xff1a;直接渲染管理器&#xff08;Direct Rendering Manager&#xff09;&#xff0c;是linux目前主流的图形显示框架&#xff1b; 1&am…...

Docker了解

Docker是一种容器化技术&#xff0c;它可以将应用程序和其依赖项打包到一个独立的、可移植的容器中&#xff0c;以便在不同的环境中运行。Docker基于Linux操作系统的容器化技术&#xff0c;可以提供更轻量、更快速、更灵活、更一致的应用部署和管理方式。 Docker的基本概念包括…...

【DL】YOLO11 OBB目标检测 | 模型训练 | 推理

本文进行YOLO11的旋转目标检测任务,旋转目标检测能够更精确地定位和描述那些非水平排列的目标,比如倾斜的飞机、船舶等。在原始的目标检测中,添加一个角度预测,实现定向边界框检测。 话不多说,先来个效果图!!! YOLO11中的旋转目标检测的特点 ▲更精确的定位:通过使用…...

vue读取本地excel文件并渲染到列表页面

1.安装插件(版本0.18.5) npm i xlsx 2.封装插件 <template><div class"container"><slot></slot></div> </template><script> import * as XLSX from xlsx export default {name: ReadExcel,props: {filePath: {type: …...

终极解决方案:如何用qmc-decoder快速解锁QQ音乐加密格式

终极解决方案&#xff1a;如何用qmc-decoder快速解锁QQ音乐加密格式 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 你是否曾经下载了QQ音乐&#xff0c;却发现那些.qmc3、…...

BabelDOC终极指南:如何完美保留PDF格式的专业文档翻译工具

BabelDOC终极指南&#xff1a;如何完美保留PDF格式的专业文档翻译工具 【免费下载链接】BabelDOC Yet Another Document Translator 项目地址: https://gitcode.com/GitHub_Trending/ba/BabelDOC 你是否曾为翻译PDF文档而烦恼&#xff1f;格式错乱、公式变形、排版混乱—…...

Gradio模型部署全攻略:从Hugging Face Spaces到AWS EC2实战

1. 项目概述与部署价值当你花了几周甚至几个月时间&#xff0c;终于训练出一个效果不错的机器学习模型&#xff0c;比如一个能识别猫狗图片的分类器&#xff0c;或者一个能生成诗歌的文本模型&#xff0c;接下来的问题往往不是技术上的&#xff0c;而是工程上的&#xff1a;怎么…...

【Claude教育内容创作黄金法则】:20年教育技术专家亲授5大不可复制的AI协同写作心法

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Claude教育内容创作的范式革命 传统教育内容生产长期受限于人力密集、周期冗长与个性化不足三大瓶颈。Claude凭借其长上下文理解、结构化输出能力与教育领域微调优势&#xff0c;正推动一场从“经验驱动”到“…...

教师今晚必须做的1件事:用Claude 3.5 Sonnet重写你的公开课逐字稿——实测课堂语言感染力提升58%(附对比音频+评分报告)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Claude 3.5 Sonnet在教育内容创作中的范式跃迁 传统教育内容生产长期受限于人力密集、周期冗长与个性化不足三大瓶颈。Claude 3.5 Sonnet凭借其增强的推理深度、100K上下文窗口及显著优化的指令遵循能力&…...

除了Easy App Locker,还有哪些Mac应用加锁方案?横向对比与避坑指南

Mac应用加锁全方案评测&#xff1a;从系统原生到第三方工具的深度选择指南当你把Mac借给同事调试代码时&#xff0c;是否担心他们无意间看到你的通讯录或邮件&#xff1f;又或者家里的小朋友总想偷偷打开你的游戏客户端&#xff1f;应用加锁早已超越简单的隐私保护&#xff0c;…...

医考app哪个比较好?2026年四款主流医考App深度横评(医路赢家/医考帮/蓝基因/丁香医考)

本文导读&#xff1a;市面上医考app越来越多&#xff0c;选错浪费时间还耽误备考。我从题库、课程覆盖、服务、通过率、核心特色、优点、缺点、适合人群八个维度&#xff0c;逐款拆解目前最主流的四款医考App——医路赢家、医考帮、蓝基因、丁香医考。全文无广&#xff0c;真实…...

手术室AI Agent实时辅助系统上线即停摆?(破解OR环境毫秒级低延迟通信、无菌区边缘算力部署、术中突发指令中断恢复三大禁区)

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;手术室AI Agent实时辅助系统上线即停摆&#xff1f;&#xff08;破解OR环境毫秒级低延迟通信、无菌区边缘算力部署、术中突发指令中断恢复三大禁区&#xff09; 手术室AI Agent系统在首次临床部署时遭遇全线停…...

HTML 零基础入门:从概念到常用标签详解,前端入门超详细版

一、HTML介绍HTML 全称超文本标记语言&#xff08;HyperText Markup Language&#xff09;&#xff0c;是搭建网页的基础骨架语言&#xff0c;也是前端开发最入门、最核心的语言。它不属于编程语言&#xff0c;没有逻辑运算、没有变量&#xff0c;只是一套标记标签&#xff0c;…...

鸿蒙今日穿搭页面构建:单品清单、一周搭配日历与穿搭提示模块详解

鸿蒙今日穿搭页面构建&#xff1a;单品清单、一周搭配日历与穿搭提示模块详解 前言 在 HarmonyOS 6.0 应用开发中&#xff0c;穿搭类页面的单品管理、周计划安排和温馨提醒是完善用户体验的重要补充模块。本文将以“今日穿搭”应用中的“单品清单”网格模块、“一周搭配日历”周…...