我听说过很多关于makefile的内容以及它们如何简化编译过程。我正在使用VS2008。有人可以建议一些在线参考或书籍,我可以找到更多关于如何处理它们的信息吗?
答案 0 :(得分:51)
Microsoft程序维护实用程序(NMAKE.EXE)是一种基于描述文件中包含的命令构建项目的工具。
答案 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,它很好地抽象了构建过程,这在本链接中有所解释。
答案 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)
总结一个完整的解决方案......
有两个选项:
快捷菜单中存在快捷方式。查看makefile内部以查看是否有任何设置'动作。动作显示为冒号前的第一个单词。通常情况下,所有好的makefile都有一个" all"动作,这样你就可以输入:NMAKE all
大多数设计良好的开源解决方案都提供了一个makefile,其中包含一个设置操作,可以为您生成Visual Studio项目文件,因此请先在Makefile中查找这些文件。
否则,您需要将每个文件或文件和文件夹组拖放到您在Visual Studio中创建的每个新项目中。
希望这会有所帮助。