Makefile 文件的使用入门

以下是一个简单的 C++ 代码示例以及对应的 Makefile 文件的使用方法。

示例代码:

假设我们有一个简单的 C++ 程序,包含两个文件:main.cppfunc.cpp

main.cpp内容如下:

#include <iostream>
#include "func.h"

int main() {
    std::cout << "The result of adding 3 and 5 is: " << add(3, 5) << std::endl;
    return 0;
}

func.cpp内容如下:

#include "func.h"

int add(int a, int b) {
    return a + b;
}

func.h内容如下:

#ifndef FUNC_H
#define FUNC_H

int add(int a, int b);

#endif

Makefile 文件:

# 定义编译器
CXX = g++
# 定义编译选项
CXXFLAGS = -std=c++11 -Wall

# 定义目标可执行文件
TARGET = my_program

# 定义所有的源文件
SRCS = main.cpp func.cpp
# 定义所有的头文件
INCLUDES = func.h

# 根据源文件生成对应的目标文件(.o 文件)
OBJS = $(SRCS:.cpp=.o)

# 第一个目标是默认目标,通常是生成可执行文件
$(TARGET): $(OBJS)
    $(CXX) $(CXXFLAGS) -o $@ $^

# 模式规则,用于从.cpp 文件生成.o 文件
%.o: %.cpp $(INCLUDES)
    $(CXX) $(CXXFLAGS) -c $< -o $@

# 清理规则,用于删除生成的目标文件和可执行文件
clean:
    rm -f $(OBJS) $(TARGET)

使用方法:

  1. 将上述代码和 Makefile 文件放在同一个目录下。
  2. 要编译程序,在命令行中输入makemake命令会根据 Makefile 中的规则自动编译源文件,并生成可执行文件my_program
  3. 运行可执行文件,在命令行中输入./my_program
  4. 如果想要清理生成的文件(目标文件和可执行文件),在命令行中输入make clean

在这个 Makefile 中,我们首先定义了编译器g++和编译选项,然后指定了目标可执行文件、源文件和头文件。接着,我们定义了如何从源文件生成目标文件,以及如何从目标文件生成可执行文件。最后,我们定义了一个清理规则,方便删除生成的文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值