A. Qt 之 qwt 和 qwtpolar 的編譯配置
Qt 中 qwt 和 qwtpolar 的編譯配置步驟如下:
一、Qwt 的編譯配置
下載與解壓:
編譯:
二、Qwtpolar 的編譯配置
下載與解壓:
編譯:
三、額外配置
工程配置:
環境變數:
文件復制:
四、使用
注意: 如在 Qt Creator 中未能顯示 QwtWidgets 和 QwtPolarPlot 的 UI 設計界面,但在單獨打開 Designer 時能正常顯示,可能是項目設置或 Qt Creator 配置問題。建議檢查 Qt Creator 的設置、項目構建配置或參考 Qt 官方文檔。
B. Qt 工具鏈及項目的構建、編譯過程
Qt工具鏈及項目的構建、編譯過程主要包括以下步驟和工具:
1. 工具介紹: Qt Creator:用於項目開發的主要IDE。 Designer:用於界面設計,可以方便地創建和編輯Qt應用程序的用戶界面。 moc:處理Qt的特殊機制,如信號槽,將依賴於QObject宏的非標准C++內容編譯成標准C++代碼。
2. 構建工具: qmake:Qt的構建系統,用於自動生成Makefile或其他構建文件。它會根據所選的工具鏈自動調用相應的構建工具。 cmake:另一種構建系統,可以在Qt項目中使用,尤其是在需要更復雜的構建配置時。cmake在Qt安裝目錄的CMake_64bin下運行。
3. 構建過程: 項目配置:在Qt Creator中創建項目時,選擇項目模板和構建工具鏈。 生成構建文件:使用qmake或cmake生成構建文件。這些文件包含了編譯和鏈接項目所需的所有指令。 轉換非標准C++內容:通過moc和uic等工具,將Qt特有的非標准C++內容轉換為標准C++代碼。
4. 編譯過程: 選擇編譯器:根據所選的工具鏈,Qt工具鏈會調用相應的編譯器。 編譯源文件:編譯器將轉換後的C++源文件編譯成目標文件。 鏈接:鏈接器將目標文件與Qt庫和其他依賴庫鏈接起來,生成最終的可執行文件。
5. 運行和調試: 運行:在Qt Creator中運行生成的可執行文件,測試應用程序的功能。 調試:使用Qt Creator的調試工具進行斷點設置、變數查看和代碼步進等操作,以診斷和修復代碼中的問題。
注意事項: 在構建和編譯過程中,可能會遇到找不到Qt庫的問題。這通常是因為庫文件的路徑沒有正確配置。解決辦法包括將庫文件復制到運行目錄或將Qt編譯器的路徑添加到系統環境變數中。 確保構建工具和編譯器的版本兼容,以避免構建失敗或運行時錯誤。
C. Qt 開發調試 CMake工程(MSVC2017+CMake)環境搭建
在 Windows 環境下搭建 Qt 開發調試 CMake 工程環境的步驟如下:
安裝 Visual Studio 2017:
安裝 Qt:
安裝 CMake:
配置 QtCreator:
創建並配置 CMake 工程:
安裝 Windows 調試工具:
編譯與調試:
通過以上步驟,您就可以在 Windows 環境下搭建起 Qt 開發調試 CMake 工程的環境。如果需要具體的代碼示例,可以訪問 MyFirstQtWindowCMake 項目頁面,該項目提供了基於 CMake 的 Qt 工程示例。
D. 記一次Qt 5.15源碼編譯
前言
在開發過程中遇到Qt的bug,特別是QAccessibleWidget模塊內部崩潰的問題,官方的BugReport可能無法及時修復。為了不耽誤項目,決定自行修改Qt源碼並進行編譯。
環境搭建
在Windows 10專業版64位系統下,使用visual studio 2019作為編譯器。此外,利用git和小烏龜tortoiseGit進行版本管理。安裝時選擇64位且為LTS版本的ruby、python和perl,安裝路徑確保無中文或空格,以避免編譯時出現問題。
目標與依賴
目標是編譯Qt5.15.2版本,支持msvc2019編譯器的64位Windows環境。所需依賴包括ruby、python和perl,均從官網下載安裝包。安裝過程簡單,選擇「下一步」,確保「自動添加到系統環境變數」選項被選中。
Qt源碼獲取
Qt源碼可從官方網站下載頁面或github倉庫獲取。使用git clone或小烏龜下載至指定路徑,如「F:\qt\qt5」。下載完成後,通過小烏龜的右鍵菜單更新子模塊至tag 5.15.2版本。
編譯過程
在倉庫上一層目錄下創建bat腳本,引用vs編譯器環境變數並執行configure命令。配置項包括指定安裝路徑、使用開源協議、自動確認協議、指定庫類型、跳過某些模塊的編譯、開啟多進程編譯、只編譯release模式、優化文件尺寸等。編譯過程可能需要2個半小時左右,完成後執行nmake install命令進行安裝。
bug修復與測試
針對QAccessibleWidget模塊的bug,定位到問題根源並進行修改。將修改後的dll替換到已安裝的Qt庫中,程序正常運行且測試未再出現空指針錯誤。然而,只替換一個dll不可靠,需要確保編譯環境與官方一致。遇到的另一個問題是,替換dll後打包的程序在某些用戶電腦上啟動後界面無法正常顯示,這表明只替換dll可能不足以解決兼容性問題。最終,替換所有新編譯的庫,確保了程序的穩定運行。
E. RK3568開發筆記(七):在宿主機ubuntu上搭建Qt交叉編譯開發環境,編譯一個Demo,目標板運行Demo測試
在宿主機Ubuntu上搭建Qt交叉編譯開發環境,編譯一個Demo,並在目標板上運行Demo測試的步驟如下:
安裝Qt開發環境:
創建並配置Qt項目:
配置交叉編譯環境:
編譯Qt項目:
調整策略並移植:
在目標板上運行Demo:
注意事項: 在實際應用中,需要根據資源限制和系統兼容性進行調整。 如果遇到Ubuntu的USB觸摸屏支持問題,可能需要考慮更換buildroot系統或進行額外的配置來解決。