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>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章