将两个VS2010 C ++项目构建到同一个输出文件夹中

时间:2012-11-28 20:17:15

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

我在同一个VS 2010解决方案中有两个项目。他们正在重用相同的代码,我希望VS2010将两个项目的可执行文件构建到同一个输出文件夹中。

显然,尽管http://msdn.microsoft.com/en-us/library/ms165411.aspx表示这是微不足道的,但这并非微不足道。

一个构建过程删除以前的构建过程(或者甚至不将第一个构建可执行文件复制到文件夹中),所以我只从最后构建的项目中获得一个可执行文件。

如果单独构建,则分别编译和输出相应的可执行文件。 一个项目依赖于另一个项目(解决与重用的OBJ文件的访问冲突,因为一个项目可能持有句柄太长而另一个项目试图构建)。

一个谜,我会感激一点帮助。

1 个答案:

答案 0 :(得分:1)

您可以通过转到项目属性页,然后将两个文件夹的输出目录字段更改为相同位置(在绝对位置或相对位置),将visual studio重定向到所需的任何文件夹。这两个项目不能具有相同的名称(实际上可执行文件的名称必须与生成的其他辅助文件不同),否则生成一个项目将擦除另一个项目。

上面我回答了你的问题,但我相信你正在接近错误的观点。如果您有公共代码,请创建一个库项目/文件夹。把它放在某处并将源代码本身添加到每个项目中,这样每个项目都可以使用它,或者你实际上可以生成lib文件本身,其中包含lib文件中包含函数原型的头文件,然后使用头文件和每个项目中的lib文件。 使用Visual Studio的VC ++目录选项卡指向lib文件夹和头文件。

这通常是正确的方法,可以避免头痛(如果你不小心改变一个项目中的源代码,它会影响另一个。使用lib文件,你不得不做一些更周到的更改)。

另一个好处是,您不必每次都重新编译它,即使您清理它(如果您清理并使用源代码,也将始终重建)。