㈠ Qt 發布程序時出錯 Debug時沒有錯誤 Release時出現錯誤
Debug下與Release pro下配置不同吧,看起來release下配置了/Zc:strictStrings這個,禁用字元串文本類型轉換
㈡ qt編譯的時候make出錯
你的mingw版本沖突吧,-fno-keep-inline-dllexport需要g++ >=4.6。
開個cmd查一下你的 g++的版本吧。
㈢ QT的代碼編譯沒錯,但是debug模式下會異常終止,在release模式下就沒問題,請問是什麼情況
qt代碼在release模式下編譯之後,會偶先題目所述現象,但是debug模式下確沒事,單獨運行release文件夾中的exe也可以,唯獨在qtcreator中運行時不行,網路之後的答案基本是環境問題,巴拉巴拉,但是他也沒說具體是什麼環境問題,這叫我怎麼排查?!
不過就在剛剛我又出現了這個問題,這種問題一般出現在如下情況:
1、添加一些新的模塊或代碼中需要新的qt的dll庫等;
2、把別人的代碼拉倒本地後再編譯(別人的庫包括上一條所述的內容);
qt的release模式是需要單獨去尋找dll或相關鏈接庫的,如果它自己找不到,就會爆出標題所述的內容,此時你可以檢查你的環境(但是就像我之前說的,我也不知道我要檢查什麼環境!),另外一種有效的做法就是呢:
安裝qt後會隨著按照一個命令行工具(和windows自帶的CMD類似),叫做 Qt 5.7 for Desktop (MinGW 5.3.0 32bit),在開始目錄里打開這個工具,如下圖:
在命令行中進入到,編譯後的exe存放的目錄中,然後輸入命令:
windeployqt xxx.exe
其中xxx.exe就是你生成的exe名稱,這條命令會把exe相關的內容解析出來,你會在文件夾中看到很多qt的相關dll,這些都是依賴性,有了這些依賴項之後,再返回運行qt creator就能成功運行啦~~~~
當然了,這種方式也適用於對應用打包,把exe單獨放到一個文件夾,運行上述命令,這個文件夾就可以在沒有qt的環境的電腦中運行了。
㈣ QT遇到Release事件無法正常接收的情況怎麼辦
設置該QT進程不再接收Touch驅動信息。一通操作後,切換該進程又可以接收Touch驅動信息事。這時mouseArea還是處於按下狀態,再次點擊Touch屏,第一次點擊先發送一個release事件。想在進程切走前就將release事件發出去,保證一個正常的動作流程
㈤ qt creator的一個項目配置成release編譯出錯問題
你選release的時候是不是選擇錯編譯器了哦,錯誤上看你選擇的MSV的編譯器,不是Qt默認的mingw編譯器,可能是這個原因,如果不是,你點擊清理工程或重新構建看看,如果代碼沒什麼問題,應該可以編譯通過的。
㈥ 用QT做的軟體,debug版本正常,但是Release版本就死掉了,會是什麼原因
應該是相關的動態庫(Qt*.dll)存在多個版本引起的,
QT4在不同版本發布的動態庫的文件名都是一樣的,
比如4.1.4和4.4.3的都是QtCore4.dll,
但實際的版本不一樣會出現這樣的問題.如果Debug版本的程序運行沒有問題,
也就說明Debug版本的動態庫沒有上述的版本沖突的問題,
而是Release版本的動態庫存在著版本沖突.
這是因為絕大部分軟體發布時只帶著release版本的程序,
而不會發布debug版本的程序.最好的辦法是搜索一下硬碟內有多少目錄下有qt的動態庫
最有可能的問題是,你本機的的其他程序用到了其他版本的qt,並將含有qt動態包的路徑設置在系統的path環境變數中,debug和release時尋找qt動態包的目錄遍歷順序不一致,所以debug時調用你想要的qt動態包,而release程序執行時載入了別的版本的qt動態包,建議在系統內搜一下
㈦ 在qt裡面用release編譯運行正常,能連接到資料庫,但是無法使用資料庫查詢了,這是怎麼回事喃
在生成可執行文件給老闆看設計的時候,遇到了無法保存數據的問題,覺得可能是無法鏈接資料庫,或者缺少什麼內容的問題,在網上查了一些資料,最終測試可順利完成資料庫的鏈接。經檢驗,在window 7 32 or 64下都可以使用。使用的工具是Qt Creator 2.8.0,qt版本4.8.5 資料庫為Sqlite 若是使用其他資料庫,可能略有不同。
具體操作步驟如下:
1)在release文件夾里創建plugins文件夾,並將QT安裝目錄下的plugins\sqldrivers文件夾下的libqsqlite4.a qsqlite4.dll(資料庫不同可能一樣) 復制到release\plugins文件夾(如果sqldrivers文件夾中沒有你需要的驅動,可能就需要下載其他的驅動了,方法大致相同)
2)main.cpp中添加以下語句 QApplication::addLibraryPath("./plugins");
3)在構建中選中release 後進行編譯,生成exe文件。
4)新建文件夾,在你安裝qt的目錄中(我的目錄是D:/Qt/4.8.5/bin)查找qtsql4.dll libgcc_s_dw2-1.dll mingwm10.dll QtCore4.dll QtGui4.dll 然後復制到新建的文件夾中
5)將release下的exe文件和sqldrivers文件夾復制到新建的文件夾。
6)運行生成的exe 文件,就可測試功能了。
㈧ 使用Qt的Qwt插件,在release模式下編譯代碼總報錯誤
應該是缺少release的庫文件吧
㈨ QT編譯項目失敗請問該如何解決,安裝的是qt-opensource-windows-x86-msvc2013_64-5.5.0這個版本的軟體
curl_setopt($request, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($request);
// close the session
curl_close($request);
㈩ Qt編譯出release版本的xxx.exe文件,運行時出現This application failed*** 提示
搜一下:Qt編譯出release版本的xxx.exe文件,運行時出現This
application
failed***
提示?