【问题标题】:Warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification警告 LNK4075:由于“/INCREMENTAL:NO”规范而忽略“/EDITANDCONTINUE”
【发布时间】:2014-01-21 13:16:57
【问题描述】:

我有一个链接到外部 .lib (libprotobuf.lib) 的项目。当我在发行版中编译时,没有警告。但是,当我在调试中编译时,我会收到以下警告:

warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
File: \libprotobuf.lib(message_lite.obj)

我一直在研究这个问题,从this question. 开始我一直在调整我的项目的选项,并且我已经(在调试配置中):

/Zi - 所以编辑和继续不应该打开。

/INCREMENTAL - 所以增量应该打开。

任何想法为什么我仍然收到此警告?我最好的猜测是外部库是用 /ZI 构建的......但我不明白为什么如果我打开 /INCREMENTAL 会出现问题。提前感谢您的帮助!

更新:我能够使用 /Zi 选项而不是 /ZI... 重建外部库,这解决了我的问题,但如果有人能告诉我原因,我将不胜感激。为什么在打开 /INCREMENTAL 的原始项目中,警告仍然显示为给定?谢谢!

【问题讨论】:

    标签: c++ linker warnings


    【解决方案1】:

    我认为这很简单。 /Zi 选项取决于 /INCREMENTAL,如果你关闭它,编译器会发出警告。 (您提到的警告是根据错误消息编译外部库时)。所以警告是关于外部库的配置问题。

    【讨论】:

    • 但仅此而已 - /INCREMENTAL 是打开的,而不是关闭的。对不起,如果我只是不理解,但我仍然感到困惑。
    猜你喜欢
    • 2013-08-24
    • 2010-12-07
    • 2021-01-15
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 2010-10-07
    相关资源
    最近更新 更多