應用程序無法正常啟動(0xc000007b)請單擊確定關閉程序


1.問題

在win10 VS2105 環境下面開發了一個調用get接口獲取數據然后寫入pg數據庫的程序,在自己電腦上運行正常。復制到win7環境下運行,單擊出現如下圖所示的提示框。

 

2.原因分析

出現這個問題的原因主要是系統環境不一致,也就是很多庫文件版本不匹配,庫的32位或者64位不匹配。32位程序依賴要用32位的庫,64位庫文件要使用64位庫文件。或者庫缺失。

 

3.解決辦法

在部署的電腦上使用depends.exe 工具。會顯示缺少了哪些依賴庫。

(1)打問號的庫文件;說明是庫丟失,直接去其他電腦上去搜索或者在腳本之家上去下載,百度下載也可以。但是要找到對應系統位數的庫。我程序是32位的,所以我去另外一個64位系統環境的c:/windows/system32中復制了缺少的庫:gpsvc.dll、mfc140.dll、msvcr120.dll、sysntfy.dll,但是system32中的庫不一定是32位的。復制到win7電腦上depends.exe中顯示的該庫后面標了一個64.CPU中顯示的是x64.

 

(2)depends.exe中庫后面有64數字的庫;這種庫文件表示是64位的庫,如果32的程序,需要去網上下載32位的庫。放入程序的根目錄。直到depends.exe中顯示的64消失,且下面的cpu一欄顯示的是x86.

 

 

(3)還有很多顯示的API_MS_WIN_*開頭的庫文件也打了問號。這些庫文件是系統庫文件,先不管,把那些其他的庫補充完整后,這些問號自然消失。

 

(4)標紅但是沒有顯示64的庫,是版本不匹配的庫文件,這下載對應版本的庫文件去。

 

總結分析:

出現這種問題的問題的原因

(1)win7,win10系統環境,和32位64位系統環境問題,導致庫缺失,版本不匹配。

(2)程序本身問題,有些自編譯的庫是用vs2008編譯,現在用vs2015開發程序,用vs2008編譯的庫,會出現問題,最好用vs2015將自編譯的庫在重新編譯一下;

(3)C++的運行時庫runtime library沒有安裝。安裝對應VS版本的運行時庫。

(4)自己對系統庫進行了修改,刪除,或者某些惡意程序對系統庫文件進行了修改或刪除,導致系統庫中的庫位數,版本不匹配,或者庫缺失,這時需要修復系統。打開cmd窗口,然后執行命令sfc /SCANNOW,這個命令可以對所有的系統文件進行掃描,並將丟失或者損壞的文件進行修復即可,這個過程用時較長,需要耐心等待。

 

 

自己開發了一個股票智能分析軟件,功能很強大,需要的點擊下面的鏈接獲取:

https://www.cnblogs.com/bclshuai/p/11380657.html

百度雲盤下載地址:

鏈接:https://pan.baidu.com/s/1swkQzCIKI3g3ObcebgpIDg

提取碼:mc8l

微信公眾號獲取最新的軟件和視頻介紹

QStockView


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM