首頁 > 後端開發 > C++ > 為什麼我的 Qt 5 靜態建置在 Windows 上崩潰並出現存取衝突錯誤?

為什麼我的 Qt 5 靜態建置在 Windows 上崩潰並出現存取衝突錯誤?

Patricia Arquette
發布: 2024-12-07 03:01:12
原創
848 人瀏覽過

Why Does My Qt 5 Static Build Crash on Windows with an Access Violation Error?

在Windows 上部署Qt 5 應用程式:排除存取衝突錯誤

在Windows 上部署Qt 5 應用程式可能具有挑戰性,尤其是在使用靜態建置時。本文探討了一個經驗豐富的問題,即 Qt 5 靜態建構在 Windows 8 中的「乾淨」PC 上崩潰,且沒有明確的錯誤訊息。

故障排除步驟:

要解決存取衝突錯誤,請執行以下步驟採取:

  1. 使用Dependency Walker: 在Windows 7 上執行Dependency Walker (depends.exe) 發現源自QtGui.dll 的存取衝突。錯誤訊息指示:

    Second chance exception 0xC0000005 (Access Violation) occurred in "QT5GUI.DLL" at address 0x61C2C000.
    登入後複製
  2. windeployqt 簡介: 從 Qt 5.2 開始,windeployqt 工具簡化了應用程式部署。此工具會自動將必要的 Qt 依賴項與 .exe 檔案一起複製。
  3. 指定 QML 目錄: 若要包含 QML 依賴項,請在執行 Windeployqt 時使用 --qmldir 選項。這會通知工具有關 QML 檔案的位置。
  4. 在乾淨的系統上進行測試: 透過在未安裝 Qt SDK 的電腦上測試應用程式或暫時重新命名來確保包含所有必需的檔案Qt 目錄。這可以防止應用程式引用 SDK 中遺失的檔案。

結論:

透過執行以下步驟,Windows 8 靜態建置中出現存取衝突錯誤已解決,允許Qt 5 應用程式在「乾淨」系統上成功部署。

以上是為什麼我的 Qt 5 靜態建置在 Windows 上崩潰並出現存取衝突錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板