關於Qt 5-MSVC 2015 64位在 win7 64位系統debug程序崩潰的問題
在win7 64位系統安裝VC2015的編譯器,
並安裝了 Qt 5.6 -5.7 VC2015 64位版本測試,
均出現 debug 構建的程序崩潰,然而 profile 和release卻沒有問題。
經過測試,
系統文件夾 system32和SysWOW64 有 ucrtbase.dll,是2015年11月19日的dll,
但是沒有 ucrtbased.dll 文件,這個文件是MS新弄出來的:
CRT 庫被重構為兩個不同的二進制文件、一個通用 CRT (ucrtbase)(其中包含大多數標准功能)和一個 VC 運行時庫 (vcruntime140)(其中包含與編譯器相關的功能,如異常處理和內部函數)。
系統缺乏正確版本的調試版通用運行庫 ucrtbased.dll。
這個文件可以在win10 SDK里面找到:
C:\Program Files (x86)\Windows Kits\10\bin\x64\ucrt\
ucrtbased.dll,日期2015年7月9號。
或者比這個日期更新的 ucrtbased.dll 也行,放到系統文件夾
system32里面,
測試能正常運行Qt調試版程序。
重要的就是把正確版本的ucrtbased.dll放到 Windows的 system32文件夾。
要2015年7月9號或者之后的 ucrtbased.dll ,然后Qt調試版程序就正常了。
這個dll鏈接:
http://pan.baidu.com/s/1kV4TLGF
在win7 64位系統安裝VC2015的編譯器,
並安裝了 Qt 5.6 -5.7 VC2015 64位版本測試,
均出現 debug 構建的程序崩潰,然而 profile 和release卻沒有問題。
經過測試,
系統文件夾 system32和SysWOW64 有 ucrtbase.dll,是2015年11月19日的dll,
但是沒有 ucrtbased.dll 文件,這個文件是MS新弄出來的:
CRT 庫被重構為兩個不同的二進制文件、一個通用 CRT (ucrtbase)(其中包含大多數標准功能)和一個 VC 運行時庫 (vcruntime140)(其中包含與編譯器相關的功能,如異常處理和內部函數)。
系統缺乏正確版本的調試版通用運行庫 ucrtbased.dll。
這個文件可以在win10 SDK里面找到:
C:\Program Files (x86)\Windows Kits\10\bin\x64\ucrt\
ucrtbased.dll,日期2015年7月9號。
或者比這個日期更新的 ucrtbased.dll 也行,放到系統文件夾
system32里面,
測試能正常運行Qt調試版程序。
重要的就是把正確版本的ucrtbased.dll放到 Windows的 system32文件夾。
要2015年7月9號或者之后的 ucrtbased.dll ,然后Qt調試版程序就正常了。
這個dll鏈接:
http://pan.baidu.com/s/1kV4TLGF
感謝305523359朋友
