QT常見問題(1)

QT常見問題(1)

1.問題描述

Qt在編譯器中直接運行沒有任何問題,但是進入exe生成目錄直接雙擊運行就報錯:文件無法定位程序輸入點_zn10qarraydata10deallocateepsyy于動態鏈接庫。

2.問題原因

這個錯誤通常是由于程序運行時找不到Qt的核心動態鏈接庫(DLL)導致的。在開發環境中,編譯器會自動設置好環境變量,所以程序可以找到Qt的DLL。但是當我們直接雙擊exe運行時,系統可能找不到這些DLL。

3.解決方法

  1. 將所需的Qt DLL文件復制到exe文件所在的目錄。

  2. 或者將Qt的bin目錄添加到系統的PATH環境變量中。

由于我們更傾向于分發程序時讓用戶直接運行而不設置環境變量,所以通常采用第一種方法。而且環境變量設置有點玄學在里面,你看著設置好了沒問題,程序運行就是不行。

4.具體步驟

  1. 找到程序依賴的Qt DLL文件。

  2. 將這些DLL復制到exe所在的目錄。

    如何找到依賴的DLL?

  • 可以使用工具,如windeployqt(Qt自帶的工具),它能夠自動將程序運行所需的Qt相關文件復制到exe所在目錄。

5.操作步驟

  1. 打開Qt命令行
    在開始菜單中找到,例如“Qt 5.15.2 (MinGW 8.1.0 64-bit)”這樣的命令行并打開。
    在這里插入圖片描述

  2. 導航到exe目錄
    使用cd命令切換到exe所在的目錄。
    在這里插入圖片描述

  3. 運行部署命令
    執行命令:windeployqt 你的程序名.exe
    在這里插入圖片描述

    工具會自動復制所有必需的Qt庫、插件和依賴項到當前exe目錄。命令運行成功的窗口如下,exe所在目錄也會多一些DLL文件和文件夾,文件夾中也是DLL文件。
    在這里插入圖片描述

    在使用windeployqt工具構建依賴庫時,確認自己是以debug模式還是release模式生成依賴庫,模式查看如上圖箭頭所指。如果與自己的運行模式不一致,可以使用windeployqt 你的程序名.exe --debug或者windeployqt 你的程序名.exe --release強制以debug executable模式或者release executable模式運行。

    注意:如果程序使用了其他第三方庫(非Qt的),則需要手動將這些庫的DLL也復制到exe目錄。

    另外,如果報錯中提到的具體函數(如_zn10qarraydata10deallocateepsyy)是QtCore庫中的,那么很可能是因為

    QtCore的版本不匹配或者沒有找到。使用windeployqt可以解決這個問題。

    如果使用了MinGW,還需要將MinGW的運行時庫(例如libgcc_s_seh-1.dll, libstdc+±6.dll, libwinpthread-1.dll)也復制到exe目錄。這些文件在MinGW的安裝目錄下的bin文件夾里。

    完成上述步驟后,再次雙擊exe應該就可以正常運行了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84195.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84195.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84195.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

『大模型筆記』第2篇:并發請求中的 Prefill 與 Decode:優化大語言模型性能

『大模型筆記』并發請求中的 Prefill 與 Decode:優化大語言模型性能 文章目錄 一. Token 生成的兩個階段:Prefill 和 Decode1.1. 指標分析1.2. 資源利用率分析二. 并發處理機制2.1. 靜態批處理 vs 持續批處理(Static Batching vs. Continuous Batching)2.2. Prefill 優先策略…

JVM(7)——詳解標記-整理算法

核心思想 標記-整理算法同樣分為兩個主要階段,但第二個階段有所不同: 標記階段: 與標記-清除算法完全一致。遍歷所有可達對象(從 GC Roots 開始),標記它們為“存活”。 整理階段: 不再簡單地清…

進程虛擬地址空間

1. 程序地址空間回顧 我們在學習語言層面時,會了解到這樣的空間布局圖,我們先對他進行分區了解: 如果以靜態static修飾的變量就會當成已初始化全局變量來看待,存放在已初始化數據區和未初始化數據區之前。 如果不用static修飾test…

C語言學習day17-----位運算

目錄 1.位運算 1.1基礎知識 1.1.1定義 1.1.2用途 1.1.3軟件控制硬件 1.2運算符 1.2.1與 & 1.2.2或 | 1.2.3非 ~ 1.2.4異或 ^ 1.2.5左移 << 1.2.6右移 >> 1.2.7代碼實現 1.2.8置0 1.2.9置1 1.2.10不借助第三方變量&#xff0c;實現兩個數的交換…

【linux】簡單的shell腳本練習

簡單易學 解釋性語言&#xff0c;不需要編譯即可執行 對于一個合格的系統管理員來說&#xff0c;學習和掌握Shell編程是非常重要的&#xff0c;通過shell程序&#xff0c;可以在很大程度上簡化日常的維護工作&#xff0c;使得管理員從簡單的重復勞動中解脫出來 用戶輸入任意兩…

機構運動分析系統開發(Python實現)

機構運動分析系統開發(Python實現) 一、引言 機構運動分析是機械工程的核心內容,涉及位置、速度和加速度分析。本系統基于Python開發,實現了平面連桿機構的完整運動學分析,包含數學建模、數值計算和可視化功能。 二、系統架構設計 #mermaid-svg-bT8TPKQ98UU9ERet {font…

工程師生活:清除電熱水壺(鍋)水垢方法

清除電熱水壺&#xff08;鍋&#xff09;水垢方法 水垢是水加熱時自然形成的鈣質沉淀物&#xff0c;常粘附在水壺內壁及發熱盤上。它不僅影響水的品質&#xff0c;還會縮短水壺的使用壽命&#xff0c;因此需要定期清除。建議根據各地水質不同&#xff0c;每年除垢 2 至 4 次。…

[分布式并行策略] 數據并行 DP/DDP/FSDP/ZeRO

上篇文章【[論文品鑒] DeepSeek V3 最新論文 之 DeepEP】 介紹了分布式并行策略中的EP&#xff0c;簡單的提到了其他幾種并行策略&#xff0c;但礙于精力和篇幅限制決定將內容分幾期&#xff0c;本期首先介紹DP&#xff0c;但并不是因為DP簡單&#xff0c;相反DP的水也很深&…

LeeCode144二叉樹的前序遍歷

項目場景&#xff1a; 給你二叉樹的根節點 root &#xff0c;返回它節點值的 前序 遍歷。 示例 1&#xff1a; 輸入&#xff1a;root [1,null,2,3] 輸出&#xff1a;[1,2,3] 解釋&#xff1a; 示例 2&#xff1a; 輸入&#xff1a;root [1,2,3,4,5,null,8,null,null,6,7…

日本生活:日語語言學校-日語作文-溝通無國界(3)-題目:わたしの友達

日本生活&#xff1a;日語語言學校-日語作文-溝通無國界&#xff08;&#xff13;&#xff09;-題目&#xff1a;わたしの友達 1-前言2-作文原稿3-作文日語和譯本&#xff08;1&#xff09;日文原文&#xff08;2&#xff09;對應中文&#xff08;3&#xff09;對應英文 4-老師…

使用 rsync 拉取文件(從遠程服務器同步到本地)

最近在做服務器遷移&#xff0c;文件好幾個T。。。。只能單向訪問&#xff0c;服務器。怎么辦&#xff01;&#xff01;&#xff01; 之前一直是使用rsync 服務器和服務器之間的雙向同步、備份&#xff08;這是推的&#xff09;。現在服務器要遷移&#xff0c;只能單向訪問&am…

Linux 并發編程:從線程池到單例模式的深度實踐

文章目錄 一、普通線程池&#xff1a;高效線程管理的核心方案1. 線程池概念&#xff1a;為什么需要 "線程工廠"&#xff1f;2. 線程池的實現&#xff1a;從 0 到 1 構建基礎框架 二、模式封裝&#xff1a;跨語言線程庫實現1. C 模板化實現&#xff1a;類型安全的泛型…

2013年SEVC SCI2區,自適應變領域搜索算法Adaptive VNS+多目標設施布局,深度解析+性能實測

目錄 1.摘要2.自適應局部搜索原理3.自適應變領域搜索算法Adaptive VNS4.結果展示5.參考文獻6.代碼獲取7.算法輔導應用定制讀者交流 1.摘要 VNS是一種探索性的局部搜索方法&#xff0c;其基本思想是在局部搜索過程中系統性地更換鄰域。傳統局部搜索應用于進化算法每一代的解上&…

詳細介紹醫學影像顯示中窗位和窗寬

在醫學影像&#xff08;如DICOM格式的CT圖像&#xff09;中&#xff0c;**窗寬&#xff08;Window Width, WW&#xff09;和窗位&#xff08;Window Level, WL&#xff09;**是兩個核心參數&#xff0c;用于調整圖像的顯示對比度和亮度&#xff0c;從而優化不同組織的可視化效果…

Unity_VR_如何用鍵鼠模擬VR輸入

文章目錄 [TOC] 一、創建項目1.直接創建VR核心模板&#xff08;簡單&#xff09;2.創建3D核心模板導入XR包 二、添加XR設備模擬器1.打開包管理器2.添加XR設備模擬器3.將XR設備模擬器拖到場景中4.運行即可用鍵盤模擬VR輸入 一、創建項目 1.直接創建VR核心模板&#xff08;簡單&…

SpringBoot定時監控數據庫狀態

1.application.properties配置文件 # config for mysql spring.datasource.url jdbc\:mysql\://127.0.0.1\:3306/數據庫名?characterEncoding\utf8&useSSL\false spring.datasource.username 賬號 spring.datasource.password 密碼 spring.datasource.validation-quer…

Qt聯合Halcon開發一:Qt配置Halcon環境【詳細圖解流程】

在Qt中使用Halcon庫進行圖像處理開發&#xff0c;可以有效地結合Qt的圖形界面和Halcon強大的計算機視覺功能。下面是詳細的配置過程&#xff0c;幫助你在Qt項目中成功集成Halcon庫。 步驟 1: 安裝Halcon軟件并授權 首先&#xff0c;確保你已經在電腦上安裝了Halcon軟件&#x…

一體化(HIS系統)醫院信息系統,讓醫療數據互聯互通

在醫療信息化浪潮下&#xff0c;HIS系統、LIS系統、PACS系統、電子病歷系統等信息系統成為醫療機構必不可少的一部分&#xff0c;從患者掛號到看診&#xff0c;從各種檢查到用藥&#xff0c;從院內治療到院外管理……醫療機構不同部門、不同科室的各類醫療、管理業務幾乎都初步…

Spring Boot 的 3 種二級緩存落地方式

在高并發系統設計中&#xff0c;緩存是提升性能的關鍵策略之一。隨著業務的發展&#xff0c;單一的緩存方案往往無法同時兼顧性能、可靠性和一致性等多方面需求。 此時&#xff0c;二級緩存架構應運而生&#xff0c;本文將介紹在Spring Boot中實現二級緩存的三種方案。 一、二…

Android Studio Profiler使用

一:memory 參考文獻: AndroidStudio之內層泄漏工具Profiler使用指南_android studio profiler-CSDN博客