Visual studio Visual Studio的顶级.mak文件? 我继承了一个VisualC++源,它包含了十几个子项目。其中一个是一个空的“MakeAll”项目,它依赖于所有其他项目,因此我可以通过将MakeAll项目设置为活动状态并选择“buildall”来构建整个项目

Visual studio Visual Studio的顶级.mak文件? 我继承了一个VisualC++源,它包含了十几个子项目。其中一个是一个空的“MakeAll”项目,它依赖于所有其他项目,因此我可以通过将MakeAll项目设置为活动状态并选择“buildall”来构建整个项目,visual-studio,visual-c++,build-process,build-automation,makefile,Visual Studio,Visual C++,Build Process,Build Automation,Makefile,我想自动化这个过程,并且来自linux环境,我的直觉是从命令行生成一个Makefile和构建。IDE将为每个子项目生成.mak文件,但不会为顶级MakeAll生成文件。(我假设这是因为它只包含依赖项。) linux的答案是一个Makefile,它简单地下降到每个子项目中,并在每个子项目中执行make。但是快速查看.mak文件表明,每个文件都希望被告知要使用几种配置中的哪一种——显然,有些使用Debug,有些使用Release,有些使用以前的开发人员炮制的配置 从命令行构建这样一组项目的公认方法是

我想自动化这个过程,并且来自linux环境,我的直觉是从命令行生成一个Makefile和构建。IDE将为每个子项目生成
.mak
文件,但不会为顶级MakeAll生成文件。(我假设这是因为它只包含依赖项。)

linux的答案是一个Makefile,它简单地下降到每个子项目中,并在每个子项目中执行
make
。但是快速查看
.mak
文件表明,每个文件都希望被告知要使用几种配置中的哪一种——显然,有些使用Debug,有些使用Release,有些使用以前的开发人员炮制的配置

从命令行构建这样一组项目的公认方法是什么


谢谢大家!

您不必使用make-如果您将所有内容都作为解决方案文件(.sln)提供,则可以使用以下方法自动生成:


还有,为什么你有一个“MakeAll”项目?VisualStudio不需要这种黑客操作,只要执行“全部构建”,它就会像典型的“全部生成”规则一样构建满足依赖性的所有内容。

谢谢您的指点。该项目生成几个单独的可执行文件和其他部分,并且有几个不相交的依赖树。我还可以不使用MakeAll就离开吗?VisualStudio处理依赖关系就像make一样。您可以通过(从内存)右键单击->Dependencieshmmm…来指定项目之间的依赖关系。。。可能值得从MS VS6升级,只是为了工具。我从一个无巨魔的电话里得到了最好的建议-谢谢你,阿金!!你可以用VS6做同样的事情,我记得你基本上是这样做的:msdev.exe solution.sln-msdev.exe与visual studio应用程序相同
msbuild solution.sln