windows下makefile文件:nmake用法

1、程序源文件:
如有三个文件:主文件:hello.cpp,类NUM的说明和实现文件:Num.h和Num.cpp,内容如下:


main.cpp:

#include "iostream"
#include "NUM.h"
using namespace std;
int main()
{
cout<<"Hello world"<<endl;
NUM a;
a.Add(1);a.Add(3);a.Add(5);
a.Display();
return 0;
}

NUM.cpp:

#include "iostream"
#include "NUM.h"
using namespace std;
bool NUM::Add(int a)
{
vecArr.push_back(a);
return true;
}
void NUM::Display()
{
for(vector<int>::iterator it = vecArr.begin(); it != vecArr.end(); it )
{
cout<<*it<<'t';
}
return ;
}

NUM.h
#include "vector"
using namespace std;
class NUM
{
public:
bool Add(int a);
void Display();
private:
vector<int> vecArr;
};

2、相应的Makefile文件hello.mk:
all :hello.exe
hello.exe : hello.obj NUM.obj
link hello.obj NUM.obj
hello.obj : Num.h
cl -c hello.cpp
NUM.obj : NUM.h
cl -c NUM.cpp

3、NMake的配置:
为NMake、cl、link运行设置环境变量:在目录《.net安装目录》Microsoft Visual Studio

.NET 2003Common7Tools中找到vsvars32.bat,在当前的dos窗口中运行它,以后在该窗口就能正常使用

NMake、cl、link了
编写makefile文件:按第二步编写makefile文件保存为hello.mk
运行NMake: NMake /f hello.mk

 

关于make的详细资料

http://www.stlchina.org/twiki/bin/view.pl/ScriptProgram/LearnMakefile

 

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
windows安装perl模块方法和必备软件nmake dmake devcpp: 方式一: 将 nmake.exe 放到system32目录下 用一下方式: perl Makefile.pl nmake nmake test nmake install 如果成功,将不用看下面内容。 方式二: 手动编译方式 优点:通吃所有模块 缺点:有点麻烦 具体步骤:1安装编译器2设置编译器的环境变量3可能安装dmake 具体方法:如下 1.首先要有个c编译器,推荐dev-cpp(开源免费的,网上自己搜索),记得要下含有mingw的就是了(不懂c,下载含有mingw的因为这个版本的bin目录里有gcc.exe等工具). 1.1安装好了编译器之后,要能在cmd中以命令方式运行的话,必须要设置环境变量,在winxp中[我的电脑]->[属性]->[高级]->[环境变量]里设置,只需要在path里加个你路径,比如你的安装路径是c:\dev-cpp,那你就要加上c:\dev-cpp\bin (path中有很多其他的路径,之间记得用;隔开 )弄完好,在cmd中运行gcc -v 显示出内容表示编译器安装成功,并且可以用命令行编译. 2.编译步骤,在cpan上下载需要的模块,比如Win32::SerialPort,下载好了解压,在cmd中进入这个目录(简单的dos命令应该知道吧),就用常见的方法: perl Makefile.pl make make test make install 如果成功,将不用看下面内容。 方式三: 使用方式二make很可能会出现错误,不能编译,找了很多原因,有高人介绍了解决办法,就是下载一个叫dmake的工具,解压缩,将里面的dmake.exe和startup的文件夹(好象是这个名字)一起复制到c:\dev-cpp\bin 里(因为这个目录注册到环境变量里的),之后安装改成: perl Makefile.pl dmake dmake test dmake install 注意: 如果安装过oracle10g你将会发现出现版本冲突的情况。 解决方案如下:修改%PERL5LIB%环境变量,修改为perl所在目录
Makefile文件是一种文本文件,用于定义和管理软件项目的编译和构建过程。它包含了一系列规则和指令,用于告诉构建工具如何编译源代码、链接库文件以及生成可执行文件等。 下面是一个简单的Makefile文件的示例: ```makefile # 定义变量 CC = gcc CFLAGS = -Wall -g # 定义目标及其依赖关系和指令 myprogram: main.o func1.o func2.o $(CC) $(CFLAGS) -o myprogram main.o func1.o func2.o main.o: main.c $(CC) $(CFLAGS) -c main.c func1.o: func1.c $(CC) $(CFLAGS) -c func1.c func2.o: func2.c $(CC) $(CFLAGS) -c func2.c # 定义伪目标和指令 .PHONY: clean clean: rm -f myprogram *.o ``` Makefile文件由多个规则构成,每个规则包含目标、依赖关系和指令。以下是对Makefile文件中常见的语法元素的解析: - 变量定义:使用 `变量名 = 值` 的形式定义变量。在示例中,`CC` 定义了编译器命令,`CFLAGS` 定义了编译选项。 - 目标规则:目标规则指定了生成的目标文件及其依赖关系。示例中,`myprogram` 是最终生成的可执行文件,依赖于 `main.o`、`func1.o` 和 `func2.o` 这三个目标文件。 - 依赖规则:依赖规则指定了目标文件所依赖的源代码文件,并定义了生成目标文件的指令。示例中,`main.o` 依赖于 `main.c`,并使用指令 `$(CC) $(CFLAGS) -c main.c` 进行编译。 - 伪目标规则:伪目标规则指定了一些特殊的目标,如示例中的 `.PHONY: clean`。伪目标不代表真实的文件,而是定义了一系列指令,用于执行一些特定操作,如清理生成的文件等。 - 指令:每个规则中都包含了一组指令,用于构建目标文件。指令前面需要使用制表符或者多个空格进行缩进。 通过运行 `make` 命令,构建工具会读取Makefile文件并根据规则执行相应的操作,从而实现源代码的编译和构建过程。例如,在示例中运行 `make myprogram` 将会编译源代码并生成可执行文件 `myprogram`。运行 `make clean` 可以执行清理操作,删除生成的文件。 这只是一个简单的Makefile示例,实际项目中的Makefile可能更复杂,包含更多的规则和指令来管理更复杂的构建过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值