在將 Qt 程序構建、運行、打包之後點擊生成的 exe 文件發現出現以下“無法找到入口”錯誤。
無法定位程序輸入點_ZN10QArrayData10deallocateEPs_jj於動態鏈接庫..... .exe上。
之後發現是因爲構建項目時使用的編譯工具和打包軟件時使用的編譯工具不一樣所導致的。
打包Qt項目的過程如下:
- 使用 Qt Create 打開項目。
如下圖所示,選擇 release ,有時需要選擇編譯工具,可以看到圖中的編譯工具是MinGW 32bit
。
- 編譯之後在工程項目文件夾下可看到 release 文件夾
- 打開關於release相關的文件夾,找到該目錄下release目錄下的.exe程序。將這個.exe文件拷貝出來,創建一個單獨的文件夾,放在這個文件夾下。
- 從
Windows
圖標找到Qt軟件,如下圖所示,本人電腦裏有5個編譯工具,找到與第一步裏相同的編譯工具,打開。
如圖所示:
- 在該命令行窗口中通過盤符和
cd
命令轉到才拷貝出來的exe程序所在的目錄。
- 使用
windeployqt
命令打包,即windeployqt 文件名.exe
敲擊回車。這一步操作是將所需的庫文件全都拷貝到exe程序的當前文件:
- 此時程序目錄如下,點擊exe文件即可正常運行程序。將該目錄整體拷貝到其它Windows系統中也可直接運行。