QWT6.2.0 之 MinGW 64-bit 編譯
一、QWT 概述
QWT(Qt Widgets for Technical Applications)是遵循 LGPL 版權(quán)協(xié)議的開源項目,主要為技術(shù)類程序提供 GUI 組件與實用類,支持生成各類統(tǒng)計圖。其核心目標是通過 2D 窗體部件展示數(shù)據(jù),數(shù)據(jù)源可支持數(shù)值、數(shù)組、浮點數(shù)集合等,輸出形式包括但不限于:
Curves(曲線)
Slider(滾動條)
Dials(圓盤)
Compasses(儀表盤)
QWT 基于 Qt 開發(fā),完全繼承 Qt 的跨平臺特性。
二、QWT 下載相關(guān)
1. 下載地址
可通過官方或可信渠道獲取 QWT 安裝包,同時建議下載 Qwt 用戶手冊,以便深入了解功能使用方法。
下載地址
2. 下載文件介紹
下載后的 QWT 包包含以下關(guān)鍵目錄,各目錄功能如下:
designer 文件夾:存儲 QWT 插件源碼,用于生成 Qt Designer 插件;生成后可在 Qt Designer 中直接拖拽使用,提升開發(fā)效率。
doc 文件夾:存放 QWT 幫助文檔,為開發(fā)過程中的問題排查提供參考。
examples 文件夾:包含 QWT 示例項目(含源碼與可執(zhí)行程序),但示例工程的構(gòu)建依賴
src或designer目錄生成的qwt.lib/qwt.dll。src 文件夾:核心源碼目錄,開發(fā)者可根據(jù)需求修改源碼以實現(xiàn)定制化功能。
textengines 目錄:存儲數(shù)學(xué)指標語言的文本驅(qū)動引擎代碼,支持數(shù)學(xué)指標顯示相關(guān)功能。
playground 目錄:QWT 新特性探索與測試模塊,供開發(fā)者進行實驗性開發(fā)。
三、編譯過程
1. 我的編譯環(huán)境
QT Creator 17.0.2
Qt 5.15.2
MinGW 64-bit
2. 編譯前期操作
打開項目:直接雙擊 QWT 下載目錄中的
qwt.pro文件,在 Qt Creator 中打開項目。配置編譯環(huán)境:在 Qt Creator 中配置編譯路徑,示例路徑如下(圖:編譯環(huán)境配置路徑):
Debug:
C:\qwt-6.2.0\build\Desktop_Qt_5_15_2_MinGW_64_bit-DebugRelease:
C:\qwt-6.2.0\build\Desktop_Qt_5_15_2_MinGW_64_bit-ReleaseProfile:
C:\qwt-6.2.0\build\Desktop_Qt_5_15_2_MinGW_64_bit-Profile
- 選擇編譯模式:務(wù)必將編譯模式切換為 Release( Release 模式生成的庫文件更適合實際使用)。
3. 執(zhí)行 qmake
在 Qt Creator 中執(zhí)行 qmake 操作(菜單欄:構(gòu)建 → qmake),此步驟通常可正常完成。
4. 編譯錯誤及解決方法
(1)第一次錯誤:找不到 moc.exe
- 錯誤現(xiàn)象:執(zhí)行編譯后報錯,關(guān)鍵信息如下(圖:moc.exe 未找到錯誤日志):
\[Makefile.Debug:610: moc/moc\_qwt\_magnifier.cpp] Error 127
compiling ../../../src/qwt\_interval\_symbol.cpp
/usr/bin/sh: line 1: C:\Qt\Qt5.15.2\5.15.2\mingw81\_64\bin\moc.exe: command not found
mingw32-make\[2]: \*\*\* \[Makefile.Release:610: moc/moc\_qwt\_magnifier.cpp] Error 127
- 解決方法:
找到編譯目錄中的
Makefile.Release和Makefile.Debug文件,用文本編輯器打開。全局查找路徑
C:\Qt\Qt5.15.2\5.15.2\mingw81_64\bin\,替換為C:/Qt/Qt5.15.2/5.15.2/mingw81_64/bin(將反斜杠\改為正斜杠/,圖:Makefile 路徑替換操作)。保存文件后重新嘗試編譯。
(2)第二次錯誤:仍報 moc.exe 未找到
- 錯誤現(xiàn)象:修改 Makefile 后編譯,仍報錯(關(guān)鍵日志如下):
mingw32-make\[1]: Entering directory 'C:/qwt-6.2.0/build/Desktop\_Qt\_5\_15\_2\_MinGW\_64\_bit-Release/designer'
/usr/bin/sh: line 1: C:\Qt\Qt5.15.2\5.15.2\mingw81\_64\bin\moc.exe: command not found
-
簡化解決方法:
由于僅需編譯核心庫文件,無需編譯所有子項目,直接修改
qwt.pro文件(圖:qwt.pro 子項目注釋操作):將
designer、examples、textengines、playground四個子項目的編譯配置注釋掉,僅保留核心src目錄編譯。
5. 成功編譯結(jié)果
修改 qwt.pro 后重新執(zhí)行 qmake 并編譯,即可成功生成庫文件。
庫文件位置:C:\qwt-6.2.0\build\Desktop_Qt_5_15_2_MinGW_64_bit-Release\lib
生成的庫文件列表如下(圖:庫文件目錄結(jié)構(gòu)):
| 類型 | 名稱 | 修改日期 | 大小 |
|---|---|---|---|
| A 文件 | libqwt.a | 2025/11/12 9:43 | 2,538 KB |
| A 文件 | libqwtd.a | 2025/11/12 9:45 | 2,545 KB |
| 應(yīng)用程序擴展 | qwt.dll | 2025/11/12 9:43 | 1,345 KB |
| 應(yīng)用程序擴展 | qwtd.dll | 2025/11/12 9:45 | 69,411 KB |
編譯好的庫下載鏈接【子龍兄丶】-CSDN博客