避免使用VC ++中的中间目录

时间:2012-01-26 16:42:39

标签: c++ visual-studio-2010 build

我正在维护一个构建脚本,该脚本从命令行调用devenv或Incredibuild,以构建由数百个项目组成的动态生成的Visual C ++ 2010解决方案。我们正在研究如何改进我们的构建,我想知道是否有办法告诉VS避免使用中间目录。

例如,假设我在解决方案Foo中有一个项目Bar。当我构建Bar时,Foo的输出最终都在Bar/Foo/$(Configuration)/$(Platform)Bar/$(Configuration)/$(Platform)中。

我想知道是否有一种方法(从命令行或通过编辑项目文件)直接在解决方案的输出目录中进行devenv构建,并且只在那里。另外,为什么我应该/不应该做这样的事情有什么理由吗?

2 个答案:

答案 0 :(得分:5)

只需将.vcxproj文件中的中间目录路径设置为与解决方案输出目录相同。

假设您的项目彼此没有相同的输出文件名,那么混合中间目录没有问题。您还可以将其设置为在TEMP下或另一个驱动器上创建所有中间目录。

答案 1 :(得分:3)

不要那样做! 因为在MSBuild中存在一个错误(我将此行为称为错误),当您重建项目时,将删除使用相同中间目录的所有项目的所有文件。 项目构建之前的输出文件夹...