簡 述: 記錄一個新建空項目,在MSVC2017 中, Debug編譯成功,運行失敗;但 Release編譯和運行均成功 的場景解決;畢竟不能夠調(diào)試很痛苦。
本文初發(fā)于 “偕臧的小站”,同步轉(zhuǎn)載于此。
背景
初,寫的 CMake 項目轉(zhuǎn)換為 VS 2017 解決方案,打開 .sln 后,在 Debug 模式下編譯成功,運行失敗且報錯;但 Release 下編譯和運行成功。困惑一月有余。 ?? 為 win10 21H1
?? Visual Studio 2017
? 昨,忽然想在 VS 2017 創(chuàng)建一個空的 C++ 程序,發(fā)現(xiàn)同樣情況。那就是 VS 的鍋了??涌涌樱。?!
問題
在 debug 編譯成功后,運行失敗則會報錯如下:由于找不到 VCRUNTIME140D.dll,無法繼續(xù)執(zhí)行代碼。重新安裝程序可能會解決此問題。
解決
依次嘗試過以下解決方案,最終是第二步和第三步解決的。
-
下載
VCRUNTIME140D.dll
拷貝到C:\Windows\System32
、C:\Windows\SysWOW64
后,雖然不再報此錯,但是報其他錯,且無有效提示信息。 遂刪除拷貝的 .dll 作罷。 -
嘗試網(wǎng)上最多解決教程為下載 Visual C++ Redistributable for Visual Studio 2015,當(dāng) x86 和 x64 都安裝 后,依舊無效;再后來想到難道是支持到 VS 2015,而我是 VS 2017,遂卸載舊的,下載更新的版本重新安裝,依舊無效。事后在暴雨中哭泣。
PS:Redistributable 實際是支持到 2015-2019 的,理論是完全沒問題的。后來還是改為下載一個更新的 2015-2022 都支持的
- Visual C++ Redistributable for Visual Studio 2015:Microsoft Visual C++ 2015-2019 Redistributable
- Redistributable 2015-2022:Microsoft Visual C++ 2015-2022 Redistributable
-
控制面板打開
Visual Studio Installer
右鍵修復(fù);選擇修改,在界面默認只選擇 “使用 C++ 的桌面開發(fā)” 和 “使用 C++ 的 Linux 開發(fā)” 的兩個默認的勾,不額外勾選其它,一切皆默認即可。點擊右下 “關(guān)閉” 后返回上一層,在 “更多-修復(fù)-確定” 等待重置環(huán)境即可。當(dāng)成功之后,重啟電腦,發(fā)現(xiàn)此問題被解決。文章來源:http://www.zghlxwxcb.cn/news/detail-476265.html
總結(jié)
這會事后,搜了下會存放的路徑,放一個運行沒問題的環(huán)境圖提供后來者對照參考。當(dāng)基本確定是 MSVC 的環(huán)境問題后,試試 VS 的修復(fù)重新安裝?;蛟S會有驚喜,可能是一個很挫但是有效的方案。文章來源地址http://www.zghlxwxcb.cn/news/detail-476265.html
到了這里,關(guān)于由于找不到VCRUNTIME140D.dll,無法繼續(xù)執(zhí)行代碼的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!