【问题标题】:Visual Studio error D8016: '/ZI' and '/Gy' command-line options are incompatibleVisual Studio 错误 D8016:“/ZI”和“/Gy”命令行选项不兼容
【发布时间】:2017-03-31 13:01:57
【问题描述】:

我正在处理的项目有问题。尽管代码是正确的,但我无法构建它,因为出现以下错误

错误 D8016 '/ZI' 和 '/Gy-' 命令行选项不兼容 LoadReport C:\LoadReport\LoadReport\cl

我的视觉工作室版本是 2015 年。任何想法都将不胜感激。

【问题讨论】:

  • 我在 Visual Studio 2017 中尝试为 Windows 编译 Petzold 的代码示例之一时遇到了这个问题。我想知道当您将旧的 .dsw 解决方案 (VC++6) 升级到 .sln 时是否总是会发生这种情况。
  • @jrh 可能是......但我想这也可能是用户偏好的问题,与构建的项目相比,您喜欢如何调试代码
  • 可能,但我更倾向于将此称为转换过程中的错误,因为启用这两个选项不可能成功。

标签: c++ visual-studio-2015


【解决方案1】:

在配置属性中 (Project ➔ Properties),

“/ZI”在

C/C++ ➔ General ➔ Debug Information Format 

“/Gy”在

C/C++ ➔ Code Generation ➔ Enable Function-Level Linking

【讨论】:

【解决方案2】:

您选择“编辑并继续”(/ZI) 以便能够在调试期间修复代码,还可以选择“禁用函数级链接”(/Gy-)。

这两个不能一起工作,因为您不能只在代码中间更改一个函数。因此,只需选择其中之一,例如将 /Gy- 更改为 /Gy

【讨论】:

  • 为了理解哪个缩写的含义而描述的所有这些缩写在哪里?
【解决方案3】:

同样的问题,通过修改解决了

项目 ➔ 属性 ➔ C/C++ ➔ 常规 ➔ 调试信息格式 ➔ 程序数据库 (/Zi)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    相关资源
    最近更新 更多