首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux——.configure && make && make install命令解析

当我们在Linux上安装相关的软件源码包时,一般会涉及到以下三个步骤,分别是 ..../configure、makemake install ———————————————————————————————————————————————————— 第一步 ....,该脚本会中止执行 当该脚本执行完成之后,它会根据之前检查的结果,生产一个 Makefile 文件,该文件规定了用什么编译器、编译参数等信息 ,描述了文件编译的相互依赖关系 第二步 make...该步骤主要用来编译源代码,make指令会从 Makefile 文件中读取相关指令,然后进行编译编译完成之后会生成可执行文件 第三步 make install 该步骤主要用来安装软件,make...install命令会从 Makefile 文件中读取相关指令,然后将软件安装到指定位置 默认安装位置是 /usr/local 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

6.9K20
您找到你想要的搜索结果了吗?
是的
没有找到

Makefile 的使用(在 Linux 中使用 make 命令编译程序)

中使用 make 命令编译程序,特别是大程序;而 make 命令所执行的动作依赖于 Makefile 文件。...Tab 键缩进第 2、4 行,不能以空格键缩进),放入 01_hello目录下,然后直接执行 make 命令即可编译程序,执行“make clean”即可清除编译出来的结果。...make 命令根据文件更新的时间戳来决定哪些文件需要重新编译,这使得可以避免编译已经编译过的、没有变化的程序,可以大大提高编译效率。...Makefile 的使用 我参考 Linux 内核的 Makefile 编写了一个通用的 Makefile,它可以用来编译应用程序: ① 支持多个目录、多层目录、多个文件; ② 支持给所有文件设置编译选项...sub.o 然后修改 sub.c 文件,再次执行 make 命令,可以看到如下信息: gcc -c -o sub.o sub.c gcc -o test main.o sub.o 可见,只编译了更新过的

8.5K10

Linux 下的make命令与Makefile

概述 博客内容包含linuxmake命令的使用与makefile的书写规则等,希望通过本文档使读者对make命令makefile文件有进一步了解,由于鄙人经验学识有限文档中会有描述不准确以及理解偏差,...fythons@sina.com 从一只猫说起hello kitty linux系统中的make命令与makefile文件 make与makefile 在linux系统中make是一个非常重要的编译命令...make命令隐藏了什么 linux 编译hello_kitty 只需要简单的make hello_kitty 上述过程可分解为四部分,预处理(Propressing),编译(Compilation),...在上面的那个例子中,make调用的隐含规则是,把.o 的目标的依赖文件设置成.c ,并使用C编译命令cc -c 隐含规则列表 这里我们将讲述所有预先设置(也就是make内建)的隐含规则,如果我们不明确地写下规则...例如,第一条隐含规则——编译C程序的隐含规则的命令是(CC) -c (CFLAGS) (CPPFLAGS)Make默认的编译命令是cc,如果你把变量(CC)重定义成gcc,把变量 定义模式规则 你可以使用模式规则来定义一个隐含规则

10.1K20

Make 命令教程

代码变成可执行文件,叫做编译(compile);先编译这个,还是先编译那个(即编译的安排),叫做构建(build)。 Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。...比如,假设文件 a.txt 依赖于 b.txt 和 c.txt ,是后面两个文件连接(cat命令)的产物。那么,make 需要知道下面的规则。...a.txt: b.txt c.txt cat b.txt c.txt > a.txt 也就是说,make a.txt 这条命令的背后,实际上分成两步:第一步,确认 b.txt 和 c.txt 必须已经存在...比如,假定当前目录下有 f1.c 和 f2.c 两个源码文件,需要将它们编译为对应的对象文件。 %.o: %.c 等同于下面的写法。...3.6 内置变量(Implicit Variables) Make命令提供一系列内置变量,比如,$(CC) 指向当前使用的编译器,$(MAKE) 指向当前使用的Make工具。

2K40

浅谈 Make 命令

代码变成可执行文件,叫做编译(compile);先编译这个,还是先编译那个(即编译的安排),叫做构建(build)。 Make是最常用的构建工具,诞生于1977年,主要用于C语言的项目。...比如,假设文件 a.txt 依赖于 b.txt 和 c.txt ,是后面两个文件连接(cat命令)的产物。那么,make 需要知道下面的规则。...a.txt: b.txt c.txt cat b.txt c.txt > a.txt 也就是说,make a.txt 这条命令的背后,实际上分成两步:第一步,确认 b.txt 和 c.txt...比如,假定当前目录下有 f1.c 和 f2.c 两个源码文件,需要将它们编译为对应的对象文件。 %.o: %.c 等同于下面的写法。...3.6 内置变量(Implicit Variables) Make命令提供一系列内置变量,比如,$(CC) 指向当前使用的编译器,$(MAKE) 指向当前使用的Make工具。

1.3K10

Linux编译相关命令

一、编译可执行文件 g++ –c Hello.cpp  编译文件,生成目标文件Hello.o g++ Hello.o –o a.out  链接并重命名为可执行文件...编译相关选项 (1)-c 生成.o文件,对代码文件进行预处理、编译和汇编,相当于windows下生成目标文件obj g++ -c hello.cpp...三、静态库和动态库的编译命令 1、生成动态库和静态库 (1)得到hello.o g++ -c hello.cpp (2)得到静态库myhello.a...LD_LIBRARY_PATH= (3)/etc/ld.so.cache中缓存了动态库路径,可以通过修改配置文件/etc/ld.so.conf中指定的动态库搜索路径,然后执行ldconfig命令来改变...(4)编译链接添加-WL,-rpath命令选项,将运行时动态库的搜索路径记录在可执行程序中 例如,有源文件test.cpp和func.cpp g++ -shared

3.3K00

Linux编译C++

创建C++编译环境 安装VIM PLUS 为什么安装VIM PLUS: 可以为我们提供良好的编译环境,高亮代码,智能提示等等~ git clone https://github.com/chxuan...此事将被报告的异常) 1)此时脚本开始运行 2)选择python3解释编译ycm文件 此时脚本文件会问你是选择python2还是python3来编译ycm文件?...LLDBLLDB(Low Level Debug)是Apple正在迁移的LLVM工具套件(包括Clang)的一部分具有REPL (Read-Eval-Print Loop,交互式解释器)、C++ 和 Python...gdb (CentOS) gdb -v 查看gdb是否安装成功 安装LLDB调试器(暂时不写) 大多数电脑还是用GDB作为调试器的,一般只有MAC使用且内置LLDB,暂时先不写这个 安装g++编译器...,int *b); VimPlus如图所示: g++ -g main.cpp func.cpp -o out 我们详细描述一下这条指令的执行过程 g++ main.cpp 相当于g++ -c

22.8K50

Linux操作系统】自动化编译make和Makefile

一.make/makefile简介 1.什么是make,makefile? make是一个构建C++项目的工具/命令;makefile是一个包含编译命令的脚本文件。...通过make工具解释makefile文件中的命令,进行我们的项目编译。 2.为什么要有make/makefile?...Linux环境下开发,工程源文件较少时,可使用gcc直接编译;但当工程源文件较多时,gcc直接编译复杂(比如命令较多,文件的编译先后顺序确定问题等)且不易于后期项目的维护,因此采用make/makefile...make的时候,会将所执行的命令回显到终端,带@则不回显 为什么在命令行执行的时候,执行第一组依赖关系和依赖方法的命令make,执行第二组依赖关系和依赖方法的命令却是make clean?...到这里我们也能解释为什么.PHONY有一个特点:被.PHONY修饰的总是能被执行,那可能就是.PHONY修饰后不再通过比较test和test.c的修改时间来判断是否要重新编译!

81240

【LinuxC++】LinuxC++命令编译示例

此文档是在LinuxC/C++开发的g++编译示例,如果继续阅读此文,并希望有所收获,你应当具备以下技能 C++编程语言基础 Linux系统操作基础 文章目录 1. 准备源代码 2....Linux编译C++代码的g++工具,以及g++的常用操作指令 1....目录包含进来,如下命令 g++ main.cpp src/swap.cpp -Iinclude 这时候代码就可以顺便通过编译了。...使用-Wall、-std 参数进行编译 -Wall 代表程序编译过程中输出警告信息,-std代表使用特定的 c++标准 进行编译,如下命令 # 使用c++11标准进行编译,并且使用-Wall参数 g++...,如下命令 g++ main.cpp src/swap.cpp -Iinclude -Wall -std=c++11 -o b.out 此时出现如下图警告 因为定义一个变量不使用,是不符合c++11的标准的

2K20

make命令和makefile文件

大家好,又见面了,我是全栈君   make命令和makefile文件的结合提供了一个在项目管理领域十分强大的工具,它不仅常被用于控制源代码的编译,而且还用于手册页的编写以及将应用程序安装到目标目录。   ...1. make命令的选项和参数   make程序本身有许多选项,其中最常用的三个选项如下所示: (1)-k:让make命令在发现错误时仍然继续执行 (2)-n:让make命令输出将要执行的操作步骤,而不真正执行这些操作...gcc 的-Wall 选项可以打印出编译时所有的错误或者警告信息 1.3.1 make命令内置的特殊宏   $?   ...命令忽略所有的错误   @   告诉make在执行命令前不要将该命令显示在标准输出上@echo   $(@D) 目标文件的目录名部分   $(@F) 目标文件的文件名部分 1.3.2 多个目标 all:...命令时,如果指定目标clean,则目标所对应的规则将总被执行   install:将编译成功的应用程序安装到另一个目录下   -rm:rm命令以减号开头是让make命令忽略rm命令的执行结果 1.4 内置规则

2.5K40

make 命令出现:make:*** No targets specified and no makefile found.Stop.

我们在Linux 安装包的时候,使用make 命令出现:"make:*** No targets specified and no makefile found.Stop."这样的错误提示。...第二、编译缺失关联软件 yum install gcc build-essential 编译执行完毕之后,我们在执行./configure && make这类的执行命令就可以解决问题。...第二种: 一、Linux下各种依赖都已经安装,是因为没有找到makefile。 如果是自己写的,确定在当前目录下;如果是源码安装,先运行....第二、编译缺失关联软件 apt-get install gcc build-essential 编译执行完毕之后,我们在执行./configure && make这类的执行命令就可以解决问题。...补充二:可能是因为没有安装gcc 是用来编译c程序 c++程序的, yum-y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-develfreetype

6.7K20
领券