c++ - VS 2012 不构建依赖项目

标签 c++ visual-studio visual-studio-2012

我在 Visual Studio 2012(版本 11.0.50727.1)中有两个 C++ 项目。 项目 B 依赖于项目 A,通过 Project Properties > Common Properties > Framework and References

当我在 B 上进行重建时,项目 A 的库未在输出目录中生成,因此 B 失败。日志显示正在成功构建 A,但根本没有显示库。

真正奇怪的是,当我执行“清理然后构建”而不是“重建”时,一切正常。同样,项目 A 可以自行构建并生成一个 .lib。不幸的是,我必须使用的构建系统将进行“重建”,如果可能,我宁愿不更改它。

我尝试过的

我删除了框架引用并尝试将库添加为 B 中的链接器依赖项。在这种情况下,A 仍然无法构建,因此我最终缺少引用。

我已经在 SO 和谷歌上搜索了一段时间,但到目前为止还没有找到。

如果您遇到过类似的事情,请告诉我!

最佳答案

看起来问题是 A 和 B 共享了一个中间目录。 使两者截然不同似乎解决了这个问题。

这是我对发生的事情的猜测:

  1. A 得到正确构建。
  2. B 通过“清理”开始构建
  3. 中间目录的内容用于确定需要从输出目录中清除哪些文件,因此错误地删除了 A.lib
  4. 未找到 A.lib

这在以前版本的 VS 中有效,因为我们之前没有启用项目的并行构建,所以我假设所有项目都先清理,然后构建。

关于c++ - VS 2012 不构建依赖项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13879774/

相关文章:

c++ - 关于类中的指针和引用

c++ - CURL 和 ZLIB 编译

c++ - CMake:使用 OBJECT 库功能创建的 Visual Studio 项目

.net - Visual Studio 2012 RC 因 .NET Framework 中的异常而中断。如何让它只在我的代码中出现异常?

JavaScript 运行时错误 : '$' is undefined

visual-studio-2012 - 工作自动构建增量 Visual Studio 插件

c++ - CreateDC 和 wglMakeCurrent 的问题

c++ - Cython 包装 operator<< 来自多个命名空间

visual-studio - Elastic beanstalk 不显示 Web 应用程序

c# - 如何在VS2012中获取多个锁而不弄乱缩进