目錄
一、首先說明出現這個問題的機器配置
二、問題描述
三、摸索解決
四:最終解決
一、首先說明出現這個問題的機器配置
PC:Windows 7 64位
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPR1EMFpnT10kaOpHOsJGcohVYsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLzQjM4EjNzkTMzITNwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
Qt Creater:V4.2.1 Based on Qt 5.8.0(MSVC2015 32bit)
FFepeg:ffmpeg-4.2-win32-dev(關于Qt Creater如何配置FFepeg也比較簡單,大家百度一下即可)
二、問題描述
在Qt Creater 中的 xxx.pro 檔案中配置添加好FFepeg的路徑後,簡單的添加了FFepeg的一個函數,驗證是否配置成功,鍊路是否打通。
現象:建構(編譯)項目可以正常通過,無警告無錯誤提示
運作的時候提示錯誤,“xxx.exe程式異常結束。”
三、摸索解決
開始也是在網上各種查找,搜了一些關于這個問題的解釋和解決方法,比如說:
1.是環境變量的問題。加上也無果,沒有解決問題
2.影子建立比較蛋疼,建議去掉。去掉也無果,沒有解決問題
3.要各種倒騰添加庫檔案,方法肯定有很多種,大家也必要來回試了(一般主流的方法有兩大類,一類是直接在xxx.pro檔案中添加頭檔案和庫檔案的路徑;一類是點選工程右鍵--->添加庫--->外部庫.....)
4...... 等等,總之試了都是沒有結果
四:最終解決
在測試了前面的方法沒有結果時,心想這還沒開始呢,就被這麼個小事情給擋住了,着實可惡!靜下心想了想,可以試一下,在調試模式下會出現什麼現象呢!
問題:During startup program exited with code 0xc0000135
大概意思是在啟動程式時退出了(編譯肯定是沒有問題)
分析:既然是啟動運作的時候出現了問題,那我們是不是可以直接到Debug模式下生成的exe路徑下運作程式呢?--->在那裡我們是不是缺少什麼東西導緻程式的奔潰?
顯而易見這裡需要運作的xxx.exe程式缺少庫檔案,是因為我用到了外部的dll庫,lib庫我是添加到了.pro檔案中了的,是以編譯時不會出錯,運作的時候沒有找到這個庫檔案就會報錯。
而提示中提示我們缺少avcodec-58.dll,可是在ffmpeg-4.2-win32-dev 這個檔案夾下沒有找到啊?怎麼辦
解釋:程式所需要的庫檔案在 ffmpeg-4.2-win32-shared (需要在官網下載下傳shared類型的包)檔案夾下
之後将ffmpeg-4.2-win32-shared/bin下的所有檔案拷貝到(build-FFepegForQtFirstTest-Desktop_Qt_5_8_0_MinGW_32bit-Debug)xxx\debug\下(也就是大家的建構目錄)
之後大家在Qt Creater中編譯運作一下,沒有出現程式異常結束的錯誤,完美解決。
如果這樣還是會出現程式異常結束的話,不妨清除一下錯誤,再編譯運作一下試試。
總結:出現 “程式異常錯誤” 的原因基本上是因為庫檔案的原因導緻的,大家可以從庫檔案上進行查找原因
無非就是:
1:庫檔案的路徑找不到
2:庫檔案添加錯誤(例如32和64位庫檔案使用錯誤,本來是32位環境使用了64位的庫檔案)
3、庫檔案缺失(少添加)