Visual Studio 2019编译C++项目时报错'/ZI'与'/Gy-'不兼容如何解决
Visual Studio 2019 C++项目D8016错误修复方案
错误说明
你遇到的编译错误原始信息如下:
严重性 代码 说明 项目 文件 行 取消显示状态
错误 D8016 '/ZI' and '/Gy-' command-line options are incompatible UNf F:\test\cl 1
该错误中文含义为**/ZI 和 /Gy- 命令行选项不兼容**,属于项目编译配置层面的冲突,和源代码本身无关,因此检查cpp文件无法发现问题、双击错误也无法定位到代码行属于正常情况。
对应的错误截图如下:
错误原因
/ZI选项对应VS的「支持编辑并继续的程序数据库」调试信息格式,/Gy-选项对应关闭函数级链接功能,二者在Visual Studio中默认互不兼容。
修复步骤
- 右键解决方案资源管理器中的对应项目,选择「属性」,或使用快捷键
Alt+Enter快速打开项目属性页 - 确认属性页顶部的「配置」和「平台」选择,建议选择「所有配置」和「所有平台」,避免后续切换编译目标时重复出现该错误
- 二选一修改冲突配置即可:
- 如需保留「编辑并继续」调试功能:进入「C/C++ > 常规」页,保持「调试信息格式」为
/ZI;再进入「C/C++ > 代码生成」页,将「启用函数级链接」设置为「是(/Gy)」 - 如不需要「编辑并继续」功能:进入「C/C++ > 常规」页,将「调试信息格式」修改为
/Zi(普通程序数据库)即可,该选项与/Gy-兼容
- 如需保留「编辑并继续」调试功能:进入「C/C++ > 常规」页,保持「调试信息格式」为
- 保存配置后重新生成项目,错误即可消除
内容的提问来源于stack exchange,提问作者Daniel Lip
相关产品推荐
相关产品推荐

