【问题标题】:VS 2012 Does Not Build Dependent ProjectVS 2012 不构建依赖项目
【发布时间】:2012-12-14 13:39:14
【问题描述】:

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

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

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

我的尝试

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

我已经在 SO 和 google 上搜索了一段时间,但到目前为止还不够。

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

【问题讨论】:

  • 愚蠢的提问时间,是否在Build配置中设置编译?
  • 是的,我也检查过了。
  • 如果检查B的依赖关系,A是其中之一吗?
  • A 确实出现在链接器命令行中,是的。此外,即使我明确添加它,然后通过解决方案设置使 B 依赖于 A,A 仍然拒绝构建。
  • 权限?您是否以管理员身份运行 VS?

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


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2012-06-19
    • 1970-01-01
    • 2013-01-30
    • 2012-01-15
    • 2017-05-24
    • 2014-03-19
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    相关资源
    最近更新 更多