我有一个项目(用c / c ++),它包含两个解决方案。 第一个是“build_model”,另一个是“fit_model”。 我设置属性以将所有二进制文件放在与“fit_model”相同的目录中,并在执行“build_model”期间调用它。
所以,我首先编译“build_model”并且进展顺利。所有文件都放入... / bin \ 然后我编译“fit_model”,它也没问题。所有文件都放入... / bin \ 一切正常。 即使为“fit_model”执行“清理”和“重建”,也只会重新创建它的二进制文件。 这是发布版本。 清洁&重新构建“build_model”也只清理它自己的二进制文件(应该是这样)。
但是当我切换到调试模式时,只要我为“fit_model”执行Clean操作,它就会删除... / bin \文件夹中的所有二进制文件,包括它自己和“build_model”中的二进制文件。 这不是我想要的。
所以,这不是在Release中发生的,而是仅用于Debug clean&重建。
我应该更改哪些设置?
(VS2010,Windows7)
编辑:问题是,即使使用不同的目录,它也会做同样的事情。此外,为调试和释放添加“d”和“r”到$(ProjectDir)将无法解决问题。
我不知道它是如何找到路径的? bin 目录包含两个子目录: fit 和 build
那么Clean for Solution fit_model除了他自己的 fit 之外还“清除”构建目录怎么样?
答案 0 :(得分:1)
如果您不想做明智的事情并使用不同的目录like Hans suggested,那么您需要更改输出文件的名称。
在项目的属性窗口(配置属性→常规)中,有一个名为“目标名称”的属性。它默认为项目名称。您需要在调试和发布版本中将其更改为 different 。
您可以执行一些简单的操作,例如在调试版本的名称末尾添加d
。例如,$(ProjectName)d
将自动获取项目名称。