VS2015无法使用编辑并继续 及 警告LNK4075的解决方法

调试项目时一直都可以使用编辑并继续(Edit and continue),这个功能为我节省了大量的调试时间,故耐心地查找了一下原因,花了1个多小时后终于解决了。同时也回过头去解决了当时VS2015法使用的问题。解决方法如下:

强调,请在非调试下更改:

1、检查是否打开了编辑并继续功能:工具-选项-调试-编辑并继续-启用“编辑并继续”,这里要注意,VS2012和VS2013是默认关闭的,需要我们自己打开:启用本机“编辑并继续”

2、这时如果还是没法使用该功能时,需要打开增量链接:项目属性-配置属性-链接器-常规-启用增量链接:是(/INCREMENTAL);

3、接着,需要修改调试信息格式:项目属性-配置属性-C/C++-常规-调试信息格式:用于“编辑并继续”的程序数据库(/ZI);

4、重新生成项目,首先查看有没有警告 warning LNK4075,如果有的话,查看下是哪种警告,我遇到的两种:

a、 忽略“/INCREMENTAL”(由于“xxxx”规范) 

b、忽略“/EDITANDCONTINUE”(由于“xxxx”规范)

对于这两种警告,MSDN给出了解释(Linker Options>http://msdn.microsoft.com/en-us/library/962ct2hz.aspx),但是这里提到的并不全,我遇到的情况就不止这些,现在把导致警告的配置列在下面,大家可以根据自己的项目配置以及警告类型来修改:

 /OPT:REF
 /OPT:ICF
 /OPT:LBR
 /ORDER
 /PROFILE
 /FORCE
 /RELEASE

对于前面4种配置,除了(/OPT:LBR)没有遇到,暂且不知道外,其他3种都是在这里修改:项目属性-配置属性-链接器-优化-引用:否(/OPT:NOREF)启用COMDAT折叠:否(/OPT:NOICF)函数顺序(/ORDER):保持为空。可以参考(/INCREMENTAL(增量链接) http://msdn.microsoft.com/zh-cn/Library/4khtbfyf.aspx

对于/PROFILE:项目属性-配置属性-链接器-高级-配置文件:否

对于/FORCE:项目属性-配置属性-链接器-常规-强制文件输出:保持为空

对于/RELEASE:这里就不用多说了吧,编辑并继续无法在release模式下使用。


好了,现在重新生成项目,然后试试看,是不是可以使用“应用代码更改”了呢?


警告 LNK4075 忽略“/EDITANDCONTINUE”(由于“/SAFESEH”规范) TAppEncoderC:\chenglei\FME\HM-16.0-FME-lab\build\vc10\encmain.obj1

解决方法


            </div>

调试项目时一直都可以使用编辑并继续(Edit and continue),这个功能为我节省了大量的调试时间,故耐心地查找了一下原因,花了1个多小时后终于解决了。同时也回过头去解决了当时VS2015法使用的问题。解决方法如下:

强调,请在非调试下更改:

1、检查是否打开了编辑并继续功能:工具-选项-调试-编辑并继续-启用“编辑并继续”,这里要注意,VS2012和VS2013是默认关闭的,需要我们自己打开:启用本机“编辑并继续”

2、这时如果还是没法使用该功能时,需要打开增量链接:项目属性-配置属性-链接器-常规-启用增量链接:是(/INCREMENTAL);

3、接着,需要修改调试信息格式:项目属性-配置属性-C/C++-常规-调试信息格式:用于“编辑并继续”的程序数据库(/ZI);

4、重新生成项目,首先查看有没有警告 warning LNK4075,如果有的话,查看下是哪种警告,我遇到的两种:

a、 忽略“/INCREMENTAL”(由于“xxxx”规范) 

b、忽略“/EDITANDCONTINUE”(由于“xxxx”规范)

对于这两种警告,MSDN给出了解释(Linker Options>http://msdn.microsoft.com/en-us/library/962ct2hz.aspx),但是这里提到的并不全,我遇到的情况就不止这些,现在把导致警告的配置列在下面,大家可以根据自己的项目配置以及警告类型来修改:

 /OPT:REF
 /OPT:ICF
 /OPT:LBR
 /ORDER
 /PROFILE
 /FORCE
 /RELEASE

对于前面4种配置,除了(/OPT:LBR)没有遇到,暂且不知道外,其他3种都是在这里修改:项目属性-配置属性-链接器-优化-引用:否(/OPT:NOREF)启用COMDAT折叠:否(/OPT:NOICF)函数顺序(/ORDER):保持为空。可以参考(/INCREMENTAL(增量链接) http://msdn.microsoft.com/zh-cn/Library/4khtbfyf.aspx

对于/PROFILE:项目属性-配置属性-链接器-高级-配置文件:否

对于/FORCE:项目属性-配置属性-链接器-常规-强制文件输出:保持为空

对于/RELEASE:这里就不用多说了吧,编辑并继续无法在release模式下使用。


好了,现在重新生成项目,然后试试看,是不是可以使用“应用代码更改”了呢?


警告 LNK4075 忽略“/EDITANDCONTINUE”(由于“/SAFESEH”规范) TAppEncoderC:\chenglei\FME\HM-16.0-FME-lab\build\vc10\encmain.obj1

解决方法


            </div>

猜你喜欢

转载自blog.csdn.net/sxj_wyj/article/details/81673275