QT5.5編譯程序無法啓動,報應用程序正常初始化 0xc0000135 失敗問題解決一例

      QT5.5編譯程序無法啓動,報應用程序正常初始化 0xc0000135 失敗問題解決一例

      昨天同事碰到一個古怪的問題,也許是程序員常見的問題,在自己的PC上,程序能夠很好的運行,但是拷貝到別人的機器上就是不能運行。而且沒有任何錯誤日誌,直接就是沒有任何反應。 然後同事把他的源碼拿過來自己編譯,編譯好的程序,在開發環境中,啓動也沒有任何問題,但是使用windeployQT.exe打包所有的dll的時候,又出現了程序無法啓動的問題。沒有任何錯誤信息報告出來。 他就來找我來解決問題了。

      我用QT creator的調試功能,載入外部程序的方式來調試,終於在調試的時候,程序報出應用程序正常初始化 0xc0000135的錯誤信息。然後這個錯誤號,可能的原因很多,有些老鼠拉龜無從下手啊。但是既然在開發環境中沒有問題,那麼那些什麼硬件問題可以排除,根據經驗,應該還是缺少相對應的dll文件。 

     既然在開發環境中可以運行,那麼我就先啓動程序,然後在任務管理器中導出內核轉儲文件。再使用visual studio打開dmp文件,查看程序調用了哪些dll,dll文件的地址在哪裏。最後發現缺少qtopengl.dll ,qtPrintSupport.dll兩個文件,copy過去,問題解決。 該程序使用Qwt - Qt Widgets for Technical Applications,應該是使用了openGL的功能,但是windeployQT.exe打包程序並沒有將這兩個dll包含進來,可能是因爲這兩個dll是qwt那邊調用的吧。

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