117.info
人生若只如初见

makefile如何生成可执行文件

要生成可执行文件,需要创建一个 Makefile 文件,并在其中定义编译规则。

以下是一个简单的示例 Makefile 文件,用于编译一个名为 “main” 的 C++ 源文件并生成可执行文件:

CC = g++
CFLAGS = -Wall
TARGET = main
SOURCES = main.cpp
OBJECTS = $(SOURCES:.cpp=.o)
all: $(TARGET)
$(TARGET): $(OBJECTS)
$(CC) $(CFLAGS) -o $@ $^
%.o: %.cpp
$(CC) $(CFLAGS) -c $<
clean:
rm -f $(OBJECTS) $(TARGET)

在 Makefile 中,我们首先定义了编译器和编译选项。然后,定义了目标文件的名称(TARGET),源文件的名称(SOURCES),以及对象文件的名称(OBJECTS)。

接下来,我们定义了一个名为 “all” 的伪目标,它依赖于目标文件($(TARGET))。在这个目标中,我们使用 $(CC) 命令将所有的对象文件链接在一起,生成最终的可执行文件。

然后,我们定义了一个模式规则,用于将每个源文件编译为对象文件。在这个规则中,我们使用 $(CC) 命令将源文件编译成对象文件。

最后,我们定义了一个名为 “clean” 的伪目标,用于删除生成的对象文件和可执行文件。

要生成可执行文件,只需在命令行中运行 “make” 命令即可:

$ make

这将按照 Makefile 中定义的规则编译源文件,并生成可执行文件。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fec37AzsLBA5SDVA.html

推荐文章

  • makefile中patsubst和wildcard函数如何使用

    在makefile中,patsubst和wildcard是两个常用的函数。 patsubst函数的语法为: $(patsubst pattern,replacement,text)
    它将text中符合pattern模式的部分替换...

  • makefile静态库连接的方法是什么

    在Makefile中,连接静态库的方法是使用-l标志指定要连接的静态库的名称,然后使用-L标志指定静态库文件所在的目录。
    以下是连接静态库的示例Makefile:

  • 【makefile笔记】patsubst和wildcard函数使用小结

    patsubst函数是GNU make中的一个内置函数,用于对指定的字符串进行模式替换。它的语法如下:
    $(patsubst pattern,replacement,text) 其中,pattern是要匹配...

  • makefile中的patsubst怎么使用

    在Makefile中,patsubst函数的作用是将一组字符串中的模式进行替换。
    patsubst函数的语法如下:
    $(patsubst pattern,replacement,text) 其中,pattern...

  • linux怎么查找程序依赖的库文件

    要查找程序依赖的库文件,可以使用以下方法: 使用ldd命令:ldd命令可以列出一个可执行文件或共享库文件所依赖的动态链接库。例如,要查找名为"program"的程序依...

  • linux怎么安装libpng依赖库

    在Linux上安装libpng依赖库,你可以通过以下几种方式实现: 使用包管理器安装:大多数Linux发行版都有自带的包管理器,可以方便地安装软件和依赖库。你可以使用以...

  • linux怎么安装zlib

    要安装zlib库,可以按照以下步骤进行操作: 打开终端。 使用以下命令安装zlib开发包: Debian/Ubuntu系统:sudo apt-get install zlib1g-dev CentOS/RHEL系统:s...

  • linux怎么升级openssl

    要升级Linux上的OpenSSL,你可以按照以下步骤进行操作: 打开终端,并以管理员身份登录。 确定你的Linux发行版的包管理工具。不同的发行版使用不同的包管理工具,...