完成C++界面程序后,我們還需要對程序進行Release,然后進行打包,才可以直接運行。我在這期間繞了一個大彎,現在記錄下來我的做法供參考。
正確步驟
第一步:將構建程序改為Release,然后構建項目。之后,你會發現在源文件夾內多了一個帶有Release字樣的文件夾。
第二步:將該文件夾內你的運行程序,(xxx.exe),復制到一個新的文件夾。
第三步:打開QT自帶的命令行工具,不要直接用系統命令行,然后cd到你建立的新文件夾(cd是命令),使用命令:windeployqt xxx.exe
OK,完成以上三步以后,就可以點擊exe文件直接運行了。
我的錯誤
我之前參考了《參考文檔:https://www.shintaku.cc/posts/qt/》所述的方法,發現打包完成后缺少一部分dll文件,於是又去復制該文件,結果出現了“應用程序無法打開(0x0000007b),請關閉程序”的問題,為了解決這個問題我又去找了很多資料,下載了VS2013等等,做了很多麻煩的事情還是無效。事實上,使用QT自帶的命令行工具的windeployqt命令一般不會出現這種問題,而是我使用了系統命令行中的windeploy.exe導致了此類問題的發生。
注意
本文是基於QT5.7的,我不確定在其他版本出現該類問題是否可以這樣解決,僅供參考。如果發現執行以上步驟后仍然顯示缺少dll文件,請按網上的參考方法解決。