我有一个包含两个C++(CLR)项目的解决方案。其中一个项目引用了另一个项目,因此项目依赖项和构建顺序被正确反映。两个项目都针对同一输出文件夹。具有依赖关系的项目使用 Copy Local: false
配置了依赖项。
如果我仅"重新构建"依赖项,那么它将成功构建并且其目标将位于输出目录中。
当我"重新构建"整个解决方案(或依赖项目)时,我会遇到以下问题:
error LNK1181: cannot open input file '<outdir>\Dependency.lib'
果然,依赖项输出已从输出目录中删除。如果我查看构建日志,依赖关系似乎已经正确地(重新)构建,但是这些输出似乎在依赖项目构建开始时立即被删除了。为什么会发生这种情况?
此外,当我“清理”解决方案,然后立即“构建”解决方案时,我不会收到任何错误消息。
“重新生成”不应该是相当于“清理+构建”吗?