Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 欧美高清强视频,91精品国产91久久久久福利,91精品国产综合久久婷婷

          整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          windeployqt.exe的使用與避坑(wind

          windeployqt.exe的使用與避坑(windows平臺)

          windeployqt.exe是Qt自帶的工具,用于創(chuàng)建應(yīng)用程序發(fā)布包。 簡單來說,這個工具可以自動地將某程序依賴的庫、資源拷貝到其所在目錄,防止程序在其他電腦上運行報找不到庫的錯誤。 這里貼上官方文檔:https://doc.qt.io/qt-5/windows-deployment.html

          原理

          windeployqt.exe工作原理很簡單,它會到當前的環(huán)境變量PATH配置的搜索路徑中,查找應(yīng)用程序所需要的庫和資源,拷貝到應(yīng)用程序目錄中。

          使用

          1、先從開始菜單中打開「對應(yīng)版本的Qt」命令行終端界面,如下圖:

          2、命令行中輸入

          windeployqt.exe 應(yīng)用程序完整路徑

          我們知道,Qt項目路徑不能包含中文,所以為了保險起見,應(yīng)用程序路徑中不要包含中文。另外,如果應(yīng)用程序路徑中包含空格,需要用雙引號將整個路徑字符串包裹起來。

          回車即可執(zhí)行發(fā)布命令。輸出界面如下圖所示:

          進入到應(yīng)用程序目錄可以看到,目錄中增加了很多依賴庫和數(shù)據(jù)文件。如下圖所示:

          大體上的流程只有這兩步。 整個發(fā)布過程看似比較簡單,但是其中還是存在一些坑的。

          坑點一:未使用Qt的命令行終端執(zhí)行發(fā)布命令,導致庫版本拷貝錯誤

          下面是直接使用系統(tǒng)cmd命令行發(fā)布軟件的過程:

          直接打開cmd命令行,進入到windeployqt.exe所在目錄 輸入:windeployqt.exe 應(yīng)用程序完整路徑,回車。

          這樣發(fā)布出來的應(yīng)用程序可能會崩潰或者出現(xiàn)以下問題:

          面對這個錯誤沒有經(jīng)驗的話,很難解決,特別是軟件直接崩潰的話,更無從下手。要解決這個問題,估計至少要半天時間。

          0xc000007b是一個經(jīng)典錯誤,它代表著程序啟動時使用了不正確的版本的庫,導致無法正常運行。例如,64位的軟件使用了32位的庫。

          所以,發(fā)生上面錯誤的原因是,windeployqt.exe從系統(tǒng)的環(huán)境變量路徑PATH中找到了其他版本的依賴庫,而這個依賴庫并不是我們的應(yīng)用程序真正依賴的那個版本。當你的計算機中安裝了很多軟件,某些軟件會添加系統(tǒng)環(huán)境變量,指向自己的bin目錄;抑或是安裝了幾個版本的Qt開發(fā)環(huán)境時,難免會導致搜索路徑中有同名稱的、不同版本的庫存在,這些情況下,庫版本錯亂的問題經(jīng)常發(fā)生。

          在Qt命令行中輸入 echo %PATH%,可以查看當前Qt使用的環(huán)境變量:

          上圖中紅色框內(nèi)是此版本Qt的庫文件目錄,已添加到當前PATH環(huán)境變量的最開頭,將會被windeployqt.exe優(yōu)先搜索到。如此一來,Qt相關(guān)的庫便不會產(chǎn)生庫版本錯誤的問題。

          坑點二:未使用與Qt版本對應(yīng)的windeployqt.exe

          發(fā)布軟件時,必須確定項目開發(fā)所使用的Qt版本,并使用此版本Qt安裝目錄下的windeployqt.exe完成發(fā)布過程。每個Qt版本中的工具只有在此Qt版本下才能確保正常工作,混用會引入未知的風險。

          坑點三:發(fā)布時,默認文件不會覆蓋

          在Qt命令行終端中多次執(zhí)行發(fā)布命令時,已發(fā)布到應(yīng)用程序文件夾中的文件默認不會被覆蓋。當你第一次發(fā)布出問題時,調(diào)整好環(huán)境后再次發(fā)布并不會覆蓋已存在的文件。這可能和我們期望的不太一樣。可以通過添加強制覆蓋參數(shù)--force強制覆蓋已存在的文件,如下圖所示:

          建議始終添加--force參數(shù),防止因文件未覆蓋而出現(xiàn)問題。

          細節(jié)問題

          Qt命令行啟動時有一行提示:

          上面打包輸出界面的紅框中,有這樣一行警告:

          Warning: Cannot find Visual Studio installation directory, VCINSTALLDIR is not set.

          意思是說,因為我們沒有運行vcvarsall.bat,所以VS的環(huán)境變量沒有配置好,所以不會拷貝VS相關(guān)的依賴庫。

          vcvarsall.bat是VS的自帶的配置環(huán)境變量的批處理文件。以VS2010為例,它位于路徑 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC 下。它屬于VS命令行工具的一部分,這里不多說,直接去看VS官網(wǎng)文檔即可:通過命令行使用 Microsoft C++ 工具集。

          那我們就嘗試運行vcvarsall.bat來配置一下VS的環(huán)境。整個過程的完整操作過程界面如下:

          可以看到,那一行警告不見了。同時,應(yīng)用程序目錄下多了兩個庫文件,如下圖:

          這樣發(fā)布出來的目錄就帶上了VS的依賴庫,拷貝到?jīng)]有安裝VS的電腦上亦可以運行。

          命令幫助

          除本文提及的基本參數(shù),發(fā)布程序還提供了一些額外參數(shù)選項,可以通過查看命令幫助了解。

          在Qt命令行終端中輸入

          windeployqt.exe -h

          可以查看命令幫助,如下圖所示:

          限于篇幅,這里不再進一步講解,大家可以自己動手嘗試。

          結(jié)語

          總體來說,雖然發(fā)布步驟比較簡單,但是有坑有細節(jié),自己嘗試操作幾次就能熟悉了。里面的坑筆者踩過,會浪費很多時間,希望大家能避免踩坑,提高效率。

          本文原創(chuàng)首發(fā)于公眾號/頭條號 Qt未來工程師。

          .前端工程打包

          我們直接通過VS Code的NPM腳本中提供的build按鈕來完整,如下圖所示,直接點擊即可:


          后會在工程目錄下生成一個dist目錄,用于存放需要發(fā)布的前端資源,如下圖所示:



          2.部署前端工程

          將我們之前打包的前端工程dist目錄下得內(nèi)容拷貝到nginx的html目錄下,如下圖所示:





          然后我們通過雙擊nginx下得nginx.exe文件來啟動nginx,如下圖所示:



          nginx服務(wù)器的端口號是80,所以啟動成功之后,我們?yōu)g覽器直接訪問http://localhost:80 即可,其中80端口可以省略

          果80端口被占用,我們需要通過conf/nginx.conf配置文件來修改端口號。如下圖所示:

          今快節(jié)奏的工作環(huán)境中,文件管理成為了一項重要的任務(wù)。傳統(tǒng)的紙質(zhì)文件不僅容易丟失,而且查找起來非常麻煩。與傳統(tǒng)文件管理方式相比,電子產(chǎn)品冊的制作更具有許多優(yōu)勢。

          電子產(chǎn)品冊制作網(wǎng)站不僅提高了他們的文件管理效率,還節(jié)省了大量的時間和精力。如果你也正愁著制作電子產(chǎn)品冊,小編倒是有個好方法,只需要登錄FLBOOK在線制作電子雜志的網(wǎng)站,就能搞定電子產(chǎn)品冊的制作了

          1.注冊登錄:

          首先打開FLBOOK在線制作電子雜志的網(wǎng)站,點擊登錄與注冊

          2.選擇創(chuàng)建作品模式

          新手建議使用套用模板創(chuàng)建,F(xiàn)LBOOK提供了多種不同樣式的模板:家具、五金、服飾、科技、數(shù)碼等等。

          找到一款符合自己要求的模板,點擊立即使用,就能開始制作啦

          3.編輯內(nèi)容,完善產(chǎn)品冊

          我們可以將模板的文本內(nèi)容修改成自己所需要呈現(xiàn)的,還能添加一些產(chǎn)品的展示視頻哦

          如果還想更多方便潛在用戶能直接找到你,也可以添加商家二維碼、地圖、電話等哦

          4.發(fā)布與分享

          制作的每一本產(chǎn)品冊都可支持各種格式訪問呢,比如:PDF、HTML、EXE、PNG、MAC等多種版本。并且還能生成二維碼,使用二維碼分享社交媒體哦

          打工人必備的網(wǎng)站,使用FLBOOK制作電子產(chǎn)品冊,效果杠杠的!如果你也有興趣的話,快來上手試試吧!在線即可制作~

          >>>flbook


          主站蜘蛛池模板: 秋霞午夜一区二区| 亚洲一区二区三区91| 国产丝袜美女一区二区三区| 成人乱码一区二区三区av| 中文字幕亚洲乱码熟女一区二区| 日本精品高清一区二区| 亚洲电影唐人社一区二区| 在线视频精品一区| 精品伦精品一区二区三区视频| 国产精品一区二区av| 69福利视频一区二区| 婷婷亚洲综合一区二区| 国产无套精品一区二区| 91精品乱码一区二区三区| 精品一区二区三区影院在线午夜 | 无码免费一区二区三区免费播放 | 亚洲av一综合av一区| 97精品国产一区二区三区| 国产一区二区三区无码免费| 中文字幕av无码一区二区三区电影 | 亚洲Av无码一区二区二三区| 国产在线步兵一区二区三区| 日韩AV无码一区二区三区不卡毛片| 农村乱人伦一区二区| 视频一区二区在线观看| 日韩av无码一区二区三区| 日本精品夜色视频一区二区| 精品无码人妻一区二区三区| 无码AV动漫精品一区二区免费| 亚洲电影国产一区| 国产激情无码一区二区三区| 一本一道波多野结衣一区| 国内国外日产一区二区| 波多野结衣精品一区二区三区| 麻豆aⅴ精品无码一区二区| 国产福利电影一区二区三区久久老子无码午夜伦不 | 老熟女五十路乱子交尾中出一区| 国内精品视频一区二区三区八戒| 国产综合一区二区| 不卡无码人妻一区三区音频| 日韩高清一区二区三区不卡|