2

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

显然这不是微不足道的,即使http://msdn.microsoft.com/en-us/library/ms165411.aspx说它是。

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

如果单独构建,则分别编译和输出各自的可执行文件。一个项目依赖于另一个项目(解决对重用 OBJ 文件的访问冲突,因为一个项目可能在另一个项目尝试构建时持有句柄太久)。

一个谜,我将不胜感激。

4

1 回答 1

1

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

上面我回答了你的问题,但我相信你是从错误的角度来处理事情的。如果您有通用代码,请创建一个库项目/文件夹。将它放在某个地方并将源代码本身添加到每个项目中,以便每个项目都可以使用它,或者您可以实际生成 lib 文件本身,并带有包含 lib 文件中函数原型的头文件,然后使用头文件和每个项目中的lib文件。使用 Visual Studio 的 VC++ 目录选项卡指向 lib 文件夹和头文件。

这通常是可以避免头疼的正确方法(如果您不小心更改了一个项目中的源代码并影响了另一个项目。使用 lib 文件,您将被迫做出更深思熟虑的更改)。

另一个好处是你不必每次都重新编译它,即使你清理它(如果你清理并使用源代码,你总是会重新编译)。

于 2012-11-28T21:04:13.750 回答