Yod*_*ber 18 warnings c++-cli edit-and-continue visual-studio-2012
我在Visual Studio 2012解决方案中有以下项目:
/clr)静态lib项目,使用/ZIEdit And Continue 编译.C++/CLI项目使用以下警告构建:
warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/OPT:LBR' specification
Run Code Online (Sandbox Code Playgroud)
如果将/ OPT:NOLBR添加到C++/CLI项目的链接器选项中,则警告变为:
warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification
Run Code Online (Sandbox Code Playgroud)
任何更改C++/CLI项目的增量链接设置的尝试都不会更改警告(C++/CLI项目永远不会以递增方式链接).
我知道我将无法在C++/CLI项目中使用"编辑并继续",因为这不受支持.实际上,在静态lib项目中将/ ZI更改为/ Zi(禁用编辑并继续)会消除警告,但我不能这样做 - 该lib的其他非CLR使用者需要使用"编辑并继续".
如何在不禁用静态库中的编辑和继续的情况下摆脱此警告(并且希望不为静态库的本机和CLR用户维护单独的构建配置)?我的意思是,有没有办法要求链接器忽略/EDITANDCONTINUE嵌入在引用的静态库中的指令(与/NODEFAULTLIB忽略/DEFAULTLIB指令的方式相同)?
我创建了一个最小的VS解决方案,可以重现所描述的问题.
Han*_*ant 15
由于'/ OPT:LBR'规范
这是一个无意义的错误消息,该链接器选项仅对ARM二进制文件有效.这只是一个错误,使用/ OPT:NOLBR从中剔除它并获得真正的警告.
这是足够准确的,虽然它也没有赢得任何奖项,你在静态lib项目中要求编辑+继续支持,但这不适用于混合模式.NET程序集.未记录的/ IGNORE链接器选项可用于禁止警告消息,但这个选项被Chapell列为"不可忽视的警告".
只要您不想更改静态lib项目,就必须忍受此警告.这完全是良性的.用/ Zi重新编译它时你不会得到它.
| 归档时间: |
|
| 查看次数: |
7077 次 |
| 最近记录: |