2010-06-06 41 views

回答

7

NMAKE实用程序自从被称为Microsoft C/C++优化编译器以来一直使用Visual C++进行分发,并且与Unix make很相似。以前版本的IDE实际上使用NMAKE makefile,但这不再是真实的。如果你愿意,你可以自己编写NMAKE makefiles,但这听起来像你想知道IDE做什么。

从VS2010开始,构建系统更改为bertelmonster提到的MSBUILD。但不是在VS2008中。

In VC++ 6.0, C++ projects have their own build engine integrated into msdev.exe

在VS2002-VS2008,it's a separate tool, VCBUILD中。但是您仍然可以使用invoke it via the main IDE, devenv.exe, see the /BUILD option,如果解决方案中存在项目间依赖关系,则devenv是最好的方法。

+1

虽然正确,但我不认为这真的回答了OP的问题。这听起来像他有一个现有的VS解决方案,并想知道如何建立它。那么答案不是使用NMake,而是使用已经与代码一起提供的解决方案和项目文件。 – jalf 2010-06-06 17:06:06

+0

@jalf,你读过我答案的最后一段吗?使用VCBUILD或devenv和/ BUILD选项。在这里,我将把这部分分成一个新的段落,以帮助它更好地突出。 – 2010-06-07 04:18:08

5

VS9在默认情况下并不使用makefiles,而是使用Linux风格的IDE。相反,VisualStudio使用“解决方案”和“项目”文件。项目文件(用于C/C++项目的* .vcproj)基本上是makefile的替代品,并且包含编译单个“项目”所需的指令,编译器指令,标志和其他所有内容。按照这种说法,项目是单个输出文件,如EXE或DLL。但是同样的机制可以用来生成任何类型的输出,包括TLB,文本文件,小部件和冰淇淋锥(如果您的机器具有支持的硬件:))

“解决方案”是项目的集合,并且解决方案文件(* .sln)通常包含构建整个应用程序套件所需的项目列表。它还包含依赖性信息,以便项目按正确的顺序构建。

解决方案和项目文件是人类可读的文本,但在VS世界中,您几乎不希望自己编辑这些文件,这是您手动调整生成文件的方式。相反,您将使用IDE来更改编译器标志,预处理器指令,输出目录以及其他所有内容。

这就是VS如何工作默认,但VS也能够使用makefile的方式与Linux风格的IDE非常相似。在这种情况下,它仍然使用解决方案文件,因此您可以将使用makefile的项目与在同一解决方案中使用项目文件的项目混合使用。 VS IDE实际上在这方面非常强大,并且可以让您随心所欲地完成任务。然而,这种强大的功能带来了一定的代价 - IDE中提供了许多功能和功能,但它可能相当复杂,并且可能会让您认为无法完全理解用户的脑力需求。

如果你想创建一个makefile的项目,你可以通过做文件>新建>项目...,然后从主的Visual C++项目模板列表中选择的Makefile项目这样做。

相关问题