makefile入门练习02

Makefile的编译

首先 makefile 分两步 1.编译 使用cl 2.链接 使用link

1.编译是 .c生成 .obj
2.链接是 .obj生成.exe

下面代码表示 main.cpp func.cpp func.h三个文件生成一个sinley.exe 的代码

main.exe:func.obj main.obj     //main.exe 依赖func.obj  main.obj
link func.obj main.obj /nologo /out:sinley.exe         //字母之间一定要加空格
//连接func.obj  main.obj两个文件最后输出sinley.exe
func.obj:func.cpp              //func.cpp编译成func.obj,下面main.cpp也是生成main.obj
	cl /c func.cpp /nologo    //  cl表示编译命令 /c表示要生成.obj文件
main.obj:main.cpp func.h       //main.cpp的代码是依赖func.h的所以有两个 .h文件不用编译
	cl /c main.cpp /nologo  
.PHONY:clean             
clean:                        //删除.obj和删除.exe文件
	del *.obj *.exe  

func.cpp代码

#include <iostream>

int test(void)                //一个程序只能有一个主函数
{
    std::cout << "Hello World!\n";
    return 0;
}

main.cpp代码

#include <iostream>
#include "func.h"             //也就是说main.cpp依赖func.h
int main(void)
{
        test();
        std::cout << "OK! !\n";
        return 0;
}

func.h代码

#ifndef FUNC_H                 //目前还看不懂
#define FUNC_H
int test(void);
#endif

打开cmd
输入 nmake
此时很可能会出现fatal error的情况,参考:
https://blog.csdn.net/weixin_41115751/article/details/89817123

编译成功可以看到生成了一个sinley.exe文件
接下来输入sinley.exe
在这里插入图片描述

最后输出结果
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值