日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

qt-项目部署(某些情况下编译器中运行异常的话可以使用命令windeployqt 程序名在安装的qt dos命令下补全部分依赖库在运行项目或发布)

發布時間:2023/12/18 编程问答 42 豆豆
一般qt項目啟動不起來大部分都是因為依賴庫要么缺失要么位數不對(有時候缺失的dll不會提示出來),建議檢查設置計算機環境變量,項目編譯設置路徑等,然后再使用dos命令windeployqt添加qt依賴庫。

Qt5Cored.dll和Qt5Core.dll文件分別用于Qt軟件的Debug版和Release版。
? ? 通常會有兩個Qt5Core.dll文件,分別位于Qti安裝目錄下的“Qt5.1.0\5.1.0\mingw48_32\bin”和“\Qt5.1.0\Tools\QtCreator\bin”兩個目錄中。其中“Qt5.1.0\5.1.0\mingw48_32\bin”目錄下才是Qt項目運行時所需的庫。

但是,有時候在運行Release版項目時,卻提示沒喲找到Qt5Cored.dll。這是由于在編譯Release版時,錯誤的鏈接到了Debug版的庫上。這種情況主要發生在使用了第三方軟件庫的時候,在編譯第三方軟件庫時,Debug版本庫鏈接到Qt的Qt5Cored.dll,而Release版鏈接到Qt5Core.dll,如果在編譯Release版項目時錯誤的鏈接了第三方軟件庫的Debug版,則也會間接的鏈接Debug版的相關支持庫(如Qt5Cored.dll),因此在運行項目時提示需要相關的Debug版支持庫。

舉個例子:在編譯Release版項目時,工程文件中有“#LIBS += D:/Qwt-6.1.0/lib/qwtd.dll”(這是QWT庫,QWT庫需要QT庫的支持),則在運行時提示“找不到Qt5Cored.dll文件”,這時將其修改為“#LIBS += D:/Qwt-6.1.0/lib/qwt.dll”則解決問題。

? ? 類似的,在運行Release版軟件時,如果提示需要Debug版庫,則可查看是否是在鏈接時,直接或間接的鏈接到了Debug版庫上。
/*****************************************QT 程序打包的方法

01前言
最近在弄畢業設計時,因為要把程序放到不同電腦的環境去測試,而又不可能每一臺電腦都安裝了QT的開發環境,于是乎有了將程序打包的想法。這里用來的包的工具是windeployqt,是QT官方自帶的打包軟件(不需要自己下載安裝)。

02具體操作
(1)首先,在QT軟件內打開自己的一個項目,用在左下角選擇Releases方法來重新編譯一次。

經過編譯之后,我們可以在編譯路徑上看到一個Releases的文件夾

當我們進去文件夾,再進入Releases文件夾后,找到.exe文件,這里以Chat_wiget為例

把.exe文件復制到一個新創建的文件夾內部

(2)在開始菜單出搜索QT的命令窗口

①打開命令行之后,接著輸入命令行,cd /d 路徑(指的是需要打包的exe程序目錄,就是剛才拷貝出來的exe程序所在的目錄),此處 cd 命令是把地址定位到exe程序所在的位置,也就是相關依賴包需要放置的地方。

②輸入如下命令行:windeployqt 程序名(如windeployqt char_widgt.exe ) 敲擊回車。這一步操作是將所需的庫文件全都拷貝到exe程序的當前文件:
此時我們可以看到文件夾內部已經自己把相關的依賴庫加載進去了

此時我們就可以直接點解exe文件運行程序。

03總結
1、通過Releases編譯得到exe文件
2、把exe文件復制到一個新的文件夾
3、用windeployqt把相關的依賴庫復制到文件夾里面

04補充


1、編譯之后可能會找不到Releases文件,此時我們就要進去設置查看編譯的文件在哪

?

2、如果想要直接打包成exe文件,就要需要Enigma Virtual Box的軟件幫助,再次進行一次打包的操作即可(具體方法不在這里論述)


?

總結

以上是生活随笔為你收集整理的qt-项目部署(某些情况下编译器中运行异常的话可以使用命令windeployqt 程序名在安装的qt dos命令下补全部分依赖库在运行项目或发布)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。