我在Visual Studio 2012(版本11.0.50727.1)中有两个C ++项目。 项目B依赖于项目A,通过项目属性>共同属性>框架和参考。
当我在B上进行重建时,项目A的lib不会在输出目录中生成,因此B失败。日志显示A正在成功构建,但lib根本没有显示。
真正奇怪的是,当我做'干净然后构建'而不是'重建'时,一切正常。同样,项目A自身构建良好,并生成 .lib 。不幸的是,我必须使用的构建系统将进行“重建”,如果可能的话,我宁愿不改变它。
我尝试过什么
我删除了框架引用,并尝试在lib中添加lib作为链接器依赖项。在这种情况下,A仍然无法构建,因此我最终缺少引用。
我已经搜索了SO和谷歌一段时间了,但到目前为止还是很短暂。
如果你遇到过类似的事情,请告诉我。
答案 0 :(得分:1)
看起来问题是A和B共享了一个中间目录。 使两者截然不同似乎已经解决了这个问题。
以下是我对发生的事情的猜测:
这在VS的早期版本中有效,因为我们之前没有启用项目的并行构建,因此我假设所有项目都先进行了清理,然后再进行构建。