//QT 5.9.9 + MSVC2017
代碼寫完后,點擊Qt Creator左下角先選擇debug還是release然后點運行(綠色小三角),程序開啟后可以關閉。
在生成的文件夾debug/release中,點擊*.exe,報錯:缺少*.dll文件
1.系統環境變量未添加
D:\Tools\QT\qt5.9.9\5.9.9\msvc2017_64\bin
上面是我的路徑,添加到系統環境變量后即可。
再點擊*.exe,程序就可以運行了。
2.在上面的條件下,可能會發現雖然程序可以運行,但是編譯生成的文件夾中並沒有*.dll文件,
所以將文件夾放到其他電腦上時,程序還是運行不了,報錯:缺少*.dll文件
那是因為我們在構建時沒有添加自定義步驟,只用的安裝后默認的構建步驟
所以為了解決這個問題:
a.點擊左側 項目,出現構建設置界面
b.點擊 添加構建步驟
c.選擇 自定義進程步驟
d.填入命令:windeployqt
e.參數:%{buildDir}/%{CurrentBuild:Type}/%{CurrentProject:Name}.exe
f.工作目錄:%{buildDir}
g.左下角選擇debug或release,清除后重新編譯
h.編譯完成后運行
i.關閉運行的程序,打開編譯生成的文件夾,現在就有*.dll文件了
3.程序發布時還有另一個辦法,可以從工程的release目錄下找到可執行文件XXXX.exe,將其拷貝到一個空的文件夾,
此時的 XXXX.exe 是無法運行的,雙擊它系統會提示類似“找不到 xxx.dll”的錯誤信息。
然后在“開始”菜單的Qt目錄下中找到 Qt 命令行程序並打開,在命令行中先通過cd命令定位到可執行文件的文件夾,然后再執行 "windeployqt XXXX.exe" 命令。
windeployqt 是 Qt 提供的 Windows 平台打包工具,它能找到 XXXX.exe 可執行文件需要的所有動態鏈接庫,並將它們拷貝到當前文件夾中。
成功執行命令之后,可執行文件的文件夾內會增加很多文件夾和文件,這些都是 StuinfoFile.exe 執行所需要的;再次雙擊 XXXX.exe,如果它可以成功執行,表明打包操作是成功的。
我們可以直接將 該文件夾分享給他人,只要是 Windows 平台,都可以直接點擊運行 XXXX.exe 文件。