如何在Visual Studio中使用makefile?

时间:2008-11-24 15:54:39

标签: c++ visual-studio makefile

我听说过很多关于makefile的内容以及它们如何简化编译过程。我正在使用VS2008。有人可以建议一些在线参考或书籍,我可以找到更多关于如何处理它们的信息吗?

8 个答案:

答案 0 :(得分:51)

Microsoft程序维护实用程序(NMAKE.EXE)是一种基于描述文件中包含的命令构建项目的工具。

NMAKE Reference

答案 1 :(得分:22)

一个UNIX人可能告诉过你。 :)

您可以在VS中使用makefile,但是当您这样做时,它会绕过MSVC IDE中的所有内置功能。 Makefile基本上是构建器的reinterpret_cast。 IMO最简单的方法就是使用解决方案。

答案 2 :(得分:13)

回答具体问题......

  

我正在使用VS2008。有人可以建议一些在线参考   或书籍,我可以找到更多关于如何处理它们的文章?

此链接将通过将其映射到Visual Studio来为您提供对Makefile的良好介绍。

Introduction to Makefiles for Visual Studio developers

  

我听说过很多关于makefile的内容以及它们如何简化编译   过程

Makefile既强大又灵活,但可能不是简化流程的最佳解决方案。考虑一下CMake,它很好地抽象了构建过程,这在本链接中有所解释。

CMake for Visual Studio Developers

答案 3 :(得分:7)

我实际上在调用devenv构建特定项目之前使用makefile来构建所需的任何依赖项,如下所示:

debug: coratools_debug
    devenv coralib.vcproj /build debug

coratools_debug: nothing
    cd ../coratools
    nmake debug
    cd $(MAKEDIR)

您也可以使用msbuild工具执行相同的操作:

debug: coratools_debug
    msbuild coralib.vcxproj /p:Configuration=debug

coratools_debug: nothing
    cd ../coratools
    nmake debug
    cd $(MAKEDIR)

在我看来,这比试图找出过于复杂的视觉工作室项目管理方案要容易得多。

答案 4 :(得分:4)

makefile的VS等价物是“解决方案”(过度简化,我知道)。

答案 5 :(得分:2)

Makefile和构建文件是关于自动构建的。如果使用MSBuild或NAnt等脚本,则可以直接从命令行构建项目或解决方案。这反过来使得构建自动化成为可能,让它由构建服务器运行。

除了构建解决方案之外,构建脚本通常还包括运行单元测试,报告代码覆盖率和复杂性等任务。

答案 6 :(得分:1)

如果您询问实际的命令行makefile,那么您可以导出makefile,或者您可以从命令行调用解决方案文件上的MSBuild。你想用makefile做什么?

您可以在SO上搜索MSBuild以获取更多详细信息。

答案 7 :(得分:1)

总结一个完整的解决方案......

有两个选项:

  1. 使用Visual Studio的开发人员命令提示符中的NMAKE
  2. 快捷菜单中存在快捷方式。查看makefile内部以查看是否有任何设置'动作。动作显示为冒号前的第一个单词。通常情况下,所有好的makefile都有一个" all"动作,这样你就可以输入:NMAKE all

    1. 为每个二进制文件创建一个解决方案和项目文件。
    2. 大多数设计良好的开源解决方案都提供了一个makefile,其中包含一个设置操作,可以为您生成Visual Studio项目文件,因此请先在Makefile中查找这些文件。

      否则,您需要将每个文件或文件和文件夹组拖放到您在Visual Studio中创建的每个新项目中。

      希望这会有所帮助。