0

我有一个项目(在 c/c++ 中),其中包含两个解决方案。第一个是“build_model”,另一个是“fit_model”。我设置了属性以将所有二进制文件放在同一目录中,因为“fit_model”将在执行“build_model”期间调用。

所以,我首先编译“build_model”,它运行良好。所有文件都放入.../bin\ 然后我编译“fit_model”,它也可以。所有文件都放入 .../bin\ 一切正常。即使对“fit_model”进行“清理”和“重建”,也只是删除了它的二进制文件,然后重新创建。那是为了发布版本。“build_model”的清理和重新构建也只清理它自己的二进制文件(应该如此)。

但是当我切换到调试模式时,只要我为“fit_model”执行清理操作,它就会删除 .../bin\ 文件夹中的所有二进制文件,包括它自己的和来自“build_model”的二进制文件。这不是我想要的。

因此,这不会在 Release 中发生,而仅适用于 Debug clean & rebuild。

我应该更改哪些设置?

(VS2010, Windows7)

编辑:问题是即使使用不同的目录它也是一样的。此外,在 $(ProjectDir) 中添加用于调试和发布的“d”和“r”也不会奏效。

我完全不知道它是如何找到路径的?bin目录有两个子目录:fitbuild

那么 Clean for Solution fit_model 是如何“清理”构建目录的呢?

4

1 回答 1

1

如果您不想做明智的事情并使用不同的目录,就像 Hans 建议的那样,那么您需要更改输出文件的名称。

在项目的属性窗口(配置属性 → 常规)中,有一个名为“目标名称”的属性。它默认为您的项目的名称。您需要在调试和发布版本中将其更改为不同的内容。

您可以做一些简单的事情,例如d在调试版本的名称末尾添加一个。比如$(ProjectName)d会自动取项目的名字。

于 2013-08-24T14:50:56.723 回答