當前位置:首頁 » 編程軟體 » mingw靜態編譯qt

mingw靜態編譯qt

發布時間: 2025-04-01 01:37:14

『壹』 Qt-Installer-Framework使用(一)

Qt-Installer-Framework的使用介紹與實踐


Qt-Installer-Framework (QIFW),作為Qt官方推薦的打包工具,以其強大的功能滿足了日常開發中的大部分需求。本文針對Windows 7 64位系統,採用Qt 5.7.1版本和MinGW 5.3環境,以及QIFW 3.0.6版本進行了測試和驗證,後續將進一步擴展支持平台。


QIFW得益於Qt的跨平台特性,支持包括但不限於這些平台:(略)。它的使用方法多樣,主要有兩種途徑。


源碼編譯

首先,從Qt官網下載對應版本的源碼,注意選擇與當前Qt版本兼容的,否則可能導致編譯失敗。我選擇的是3.0.6版本,此版本要求Qt 5.6以上。


我使用靜態編譯,雖然動態編譯過程中遇到了符號鏈接錯誤和庫文件連接失敗的問題,目前我正在深入研究。編譯腳本如下:


(腳本內容)

執行腳本後,大約10分鍾內完成編譯,生成的可執行文件位於工程目錄bin下。


直接使用官方編譯好的exe編譯打包

將Example目錄下的示例復制到bin目錄,接著編寫一個腳本,命令如下:


(腳本命令)

成功執行後,打包後的exe軟體會出現在當前路徑下。


關於詳細的配置和個性化定製,將在後續文章中深入探討。

『貳』 Qt Creator怎麼靜態編譯C++程序

如果你說的是Qt程序的話,靜態編譯就得自行從源碼開始編譯Qt靜態庫,官網預編譯的版本是不包含靜態庫的。這個很復雜,請參考qt-everywhere-opensource 中提供的編譯幫助。注意如果使用miongw的話,gcc版本最好不要是4.6.2。這個版本比較特殊,但是它是mingw官方版的最新打包版本。
如果你說的是非qt庫依賴的話,有兩種mingw和vs,前者有部分發行版默認去除了dll依賴,直接連接的靜態庫,後者非常不推薦使用靜態庫,畢竟它載入的是系統常用dll,基本上所有系統都是推薦安裝的運行時環境,用靜態庫吃力不討好。

『叄』 Qt+GDAL開發筆記(一):在windows系統mingw32編譯GDAL庫、搭建開發環境和基礎Demo

前言

在麒麟系統上進行全球北斗定位終端開發時,調試工具製作一個Windows版本以便校對,北斗GPS發送的是大地坐標,應用需要的是經緯度坐標。轉換過程中,我們選擇了GDAL庫進行轉換,避免使用公式計算的繁瑣與可能的誤差。

注意

不建議使用mingw32版本的GDAL庫進行編譯,過程異常曲折。

大地坐標簡介

大地坐標(Geodetic coordinate)在大地測量中以參考橢球面為基準面,地面點P的位置由大地經度L、大地緯度B和大地高H確定。

原理

大地經度是參考橢球面上點與起始大地子午面(通過格林尼治天文台的子午面)之間的夾角,向東為東經,向西為西經。大地緯度是法線與赤道面的夾角,由赤道面起算,向北為北緯,向南為南緯。大地高是地面點到參考橢球面的距離。

北京54坐標系(BJZ54)

北京54坐標系基於克拉索夫斯基橢球,是通過局部平差後產生的坐標系,由經度L54、緯度M54和大地高H54表示。

世界大地坐標系統(WGS-84)

WGS-84坐標系是世界大地坐標系統,使用WGS-84橢球體,原點設在地球中心,X軸指向格林尼治參考子午線與赤道面的交點,Z軸指向地極方向,Y軸與X、Z軸構成右手坐標系。

國家大地坐標系(CGCS2000)

CGCS2000是當前最新的國家大地坐標系,原點設在包括海洋和大氣的整個地球的質量中心,X軸指向格林尼治參考子午線與赤道面的交點,Z軸指向地極方向。

GDAL庫介紹

GDAL(Geospatial Data Abstraction Library)是一個開源柵格空間數據轉換庫,支持各種文件格式,提供命令行工具進行數據轉換和處理。OGR是GDAL的一個分支,支持矢量數據。

功能與特徵

OGR體系結構

GDAL下載地址

GDAL的下載地址為:gdal.org/download.html,選擇3.2.1版本。

准備MSYS2環境

在MSYS2中配置編譯環境,可能遇到系統枚舉未知問題,嘗試使用msys2或msys642解決,確保成功編譯。

使用Qt5.9.3 mingw32進行編譯

將Qt5.9.3 mingw32編譯器復制到MSYS2根目錄,確保引入成功。

路徑配置與編譯GDAL

配置路徑、編譯GDAL,包括下載、解壓、配置、編譯和安裝步驟,遇到問題時使用強制方法解決問題。

編譯PROJ6

類似步驟進行下載、解壓、配置、編譯和安裝PROJ6,解決可能遇到的問題。

編譯SQLITE3

下載、解壓、配置、編譯和安裝SQLITE3,解決配置錯誤,確保庫正確編譯。

編譯pkgconfig(廢棄步驟)

嘗試編譯pkgconfig,但由於廢棄不再使用,此步驟僅保留。

結尾

經過一系列嘗試與優化,成功編譯並安裝GDAL、PROJ6和SQLITE3庫。建議讀者避免使用mingw32版本的GDAL庫,以簡化編譯過程。

『肆』 Qt Creator 怎樣設置才能實現靜態編譯

Qt默認的編譯方式是動態編譯的,但是有時候你編寫的程序要發布出去,帶很多動態庫文件是很繁瑣的,此時就需要靜態編譯你的程序,Qt要實現靜態編譯必須庫文件也是靜態編譯的,可以用這個命令編譯靜態庫:

1.將C:\Qt\2010.05\qt\mkspecs\win32-g++文件中的QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc

改為

QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-

auto-import -Wl,-enable-runtime-pseudo-reloc

2.在開始菜單里找到Qt Command Prompt並運行,輸入命令: configure -static -debug-and-release -no-exceptions -L "C:\Qt\2010.05\qt\include" -L "C:\Qt\2010.05\qt\lib"

-L指定一下路徑,防止用到vc的頭文件

選擇開源:O;選擇license:y;

3.上一條命令運行成功後再輸入命令: mingw32-make sub-src

等1 ~3 小時可能就運行完了 完成後就ok了。。。

熱點內容
pythonlist查找元素 發布:2025-04-02 14:31:08 瀏覽:148
java漢諾塔遞歸演算法 發布:2025-04-02 06:28:40 瀏覽:127
可執行文件是編譯鏈接後生成的文 發布:2025-04-02 04:36:44 瀏覽:175
電腦文件加密軟體免費 發布:2025-04-02 03:02:51 瀏覽:808
php圖片管理 發布:2025-04-02 03:01:11 瀏覽:268
然後弄編程 發布:2025-04-02 02:54:06 瀏覽:115
解壓室俱樂部 發布:2025-04-02 02:47:04 瀏覽:284
安卓哪裡下載文豪野犬 發布:2025-04-02 02:45:04 瀏覽:792
優酷安卓怎麼免廣告 發布:2025-04-02 02:30:07 瀏覽:835
安卓系統怎麼把繁體字改為簡體字 發布:2025-04-02 02:14:39 瀏覽:327