windows 环境测试使用 Visual Studio 2022 MSVC 自带的 cl + nmake 版本的 Makefile 编译代码

前言:

        windows 环境的 cl 和 nmake 就相当于 Linux 环境的 gcc、g++ 和 make;linux 中可以在 Makefile 中写 gcc、g++ 语句,然后执行 make;同样的,在 windows中也可以新建 Makefile 文件,在里面写 cl 语句,最后使用 nmake

1. cl.exe 、nmake.exe 所在位置:

D:\install\VisualStudio2022_comm\VC\Tools\MSVC\14.40.33807\bin\Hostx64\x64

2. 代码目录结构:

test.cpp
math/
    hsyMath.hpp
    hsyMath.cpp
build/
    Makefile

3. 完整代码:

        1. test.cpp:

#include <iostream>
#include "./math/hsyMath.hpp"

int main(){
	std::cout << "hello world" << std::endl;
	int sum = add_hsy(100,200);
	std::cout << sum << std::endl;
	return 0;
}

        2. hsyMath.hpp:

#ifndef HSY_MATH_HEAD
#define HSY_MATH_HEAD

 
// 在这里放置类声明、函数声明、宏定义等
int add_hsy( int a,int b );
 
#endif // HSY_MATH_HEAD

        3. hsyMath.cpp:

#include "hsyMath.hpp"

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

        4. Makefile:

# 定义编译器和链接器选项
CC = cl.exe
CFLAGS = /I"D:\install\VisualStudio2022_comm\VC\Tools\MSVC\14.40.33807\include" \
         /I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt"
LDFLAGS = /link libcpmt.lib kernel32.lib libucrt.lib
LIBDIRS = /LIBPATH:"D:\install\VisualStudio2022_comm\VC\Tools\MSVC\14.40.33807\lib\x64" \
          /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\um\x64" \
          /LIBPATH:"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.26100.0\ucrt\x64"

# 定义源文件和目标文件
SRCS = ../test.cpp ../math/hsyMath.cpp
OBJS = $(SRCS:.cpp=.obj)
TARGET = test.exe

# 默认目标
all: $(TARGET)

# 链接目标
$(TARGET): $(SRCS)
    $(CC) $(CFLAGS) $(SRCS) $(LDFLAGS) $(LIBDIRS) /Fo"$(TARGET)"

# 清理目标(可选)
clean:
    del $(TARGET) $(OBJS)

        5. 在 Makefile 目录下执行 nmake命令:

        6. 测试 test.exe:

 

ps:需要先将 :

D:\install\VisualStudio2022_comm\VC\Tools\MSVC\14.40.33807\bin\Hostx64\x64

添加大系统环境变量 PATH 中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值