首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> 關於C++

Windows 平台 Qt SDK 靜態編譯完整指南

     編輯:關於C++

Qt 靜態編譯可將 Qt 函式庫直接嵌入執行檔,免除部署時攜帶大量 DLL 的困擾。本文記錄在 Windows XP 環境下,使用 MinGW 編譯器對 Qt 4.6.2 進行靜態編譯的完整步驟與關鍵設定。

編譯環境需求

  • 作業系統:Windows XP
  • Qt 版本:Qt 4.6.2 (Windows 版)
  • 編譯器:MinGW (Qt SDK 內建)

靜態編譯 Qt 函式庫步驟

1. 修改 qmake.conf 加入靜態連結旗標

編輯 D:\Qt\2010.02.1\qt\mkspecs\win32-g++\qmake.conf,在 QMAKE_LFLAGS 後加入 -static:

QMAKE_LFLAGS = -static

2. 開啟 Qt 命令提示字元

從開始選單啟動「Qt Command Prompt」,進入建置環境。

3. 配置編譯參數

configure -static -release -no-exceptions

授權選擇 LGPL,開始配置 qmake。

4. 執行靜態編譯

mingw32-make sub-src

此過程會編譯 Qt 核心模組,耗時較長請耐心等待。

解決執行檔仍相依 MinGW 執行期庫的問題

預設 MinGW 為動態連結,需改用靜態版本的 MinGW/GCC:

  1. 下載靜態版 MinGW:qp-gcc 專案,檔案名 mingw-static-4.4.5-all
  2. 解壓並直接覆蓋 D:\Qt\2010.02.1\mingw 目錄下的所有檔案

修改 qmake 建置系統的連結旗標

編輯 D:\Qt\2010.02.1\qt\qmake 目錄下的 4 個 Makefile* 檔案,將:

LFLAGS =

修改為:

LFLAGS = -static-libgcc

開發與發布工作流程

  • 除錯階段: 使用 Qt Creator 的 Debug 模式
  • 發布階段: 使用 Qt Creator 的 Release 模式編譯,產出的執行檔可在未安裝 Qt 的電腦上直接執行

常見問題排查

  • 若編譯失敗,檢查 qmake.conf 的 QMAKE_LFLAGS 是否正確套用
  • 確認 MinGW 靜態版已正確覆蓋原目錄
  • 若執行檔仍報缺少 DLL,使用 Dependency Walker 分析相依性

本文出自「LinuxQt 濟南高新區」部落格,原文連結:https://qtlinux.blog.51cto.com/3052744/568619

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved