3. lvgl 9.3 vscode 模擬環境搭建 lv_port_pc_vscode-release-v9.3

文章目錄

  • 1. 資源下載
    • 1. 1 lv_port_pc_vscode
    • 1.2 cmake 和 mingw 環境搭建
    • 1.3 sdl 下載
    • 1.4 下載lvgl_v9.3
  • 2. 環境搭建
    • 2.1 拷貝lvgl 源碼到工程
    • 2.2 添加SDL2 依賴
    • 2.3 執行工程
  • 3. 運行示例

1. 資源下載

1. 1 lv_port_pc_vscode

那么多模擬器,為什么選擇這個: 支持最新版本,支持 Windows, Linux and MacOs, 使用cmake對項目配置管理, 更新比較快。
下載地址:https://github.com/lvgl/lv_port_pc_vscode
zip 下載:切換9.3分支, 直接下載zip
在這里插入圖片描述
git 克隆:

git clone -b release/v9.3 https://github.com/lvgl/lv_port_pc_vscode.git

github訪問不了加速可參考: https://blog.csdn.net/qq_51355375/article/details/148614617?spm=1011.2415.3001.5331

1.2 cmake 和 mingw 環境搭建

  • cmake: https://blog.csdn.net/qq_51355375/article/details/139186681?spm=1011.2415.3001.5331
  • mingw: https://blog.csdn.net/qq_51355375/article/details/139890889?spm=1011.2415.3001.5331

1.3 sdl 下載

https://github.com/libsdl-org/SDL/tags
因為lvgl使用的是sdl2,和 mingw, 選擇sdl2 mingw版本下載
在這里插入圖片描述

1.4 下載lvgl_v9.3

下載和lv_port_pc_vscode 一樣,選擇對應版本下載即可。
https://github.com/lvgl/lvgl

2. 環境搭建

2.1 拷貝lvgl 源碼到工程

  • vscode打開lv_port_pc_vscode-release-v9.3項目,并將下載的lvgl 9.3 工程下的所有內容復制到 lv_port_pc_vscode-release-v9.3下的lvgl目錄下。
    在這里插入圖片描述

2.2 添加SDL2 依賴

將下載的 sdl 解壓后整個復制到 項目中
在這里插入圖片描述
在這里插入圖片描述
指定sdl 配置路徑:
在這里插入圖片描述

2.3 執行工程

因為使用在vscode配置c工程比較麻煩,這里使用的是qt vscode插件:
參考:https://blog.csdn.net/qq_51355375/article/details/142623120?spm=1011.2415.3001.5331

選擇編譯器:ctrl + shift + p
在這里插入圖片描述
選擇自己安裝的對應 mingw 目錄下的gcc
在這里插入圖片描述
然后在cmakelist.txt ctrl + s 觸發cmake構建, 構建完成后點擊左下角編譯或者運行即可進入代碼編譯。
在這里插入圖片描述

  • 報錯1:
    fatal error: glob.h: No such file or directory
    [build] 18 | #include “glob.h”
    [build] | ^~~~~~~~
    [build] compilation terminated.
    注釋掉main.c 中對應的頭文件:
    在這里插入圖片描述
  • 報錯2:
    main_getcmdline': [build] /tmp/tardir/SDL2-2.32.2/src/main/windows/SDL_windows_main.c:80:(.text+0x152): undefined reference to SDL_main’
    [build] collect2.exe: error: ld returned 1 exit status
    添加sdl頭文件
    在這里插入圖片描述
  • 錯誤3:
    編譯成功,執行沒有界面,執行后就結束了
    在這里插入圖片描述
    缺少SDL2.dll庫, 配置cmake 將其拷貝到可執行程序所在的bin目錄下, 重新構建運行即可。

3. 運行示例

在這里插入圖片描述

此工程代碼下載:https://gitcode.com/CodingBinary/lv_port_pc_vscode-release-v9.3

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

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

相關文章

【牛客刷題】小紅的爆炸串(二)

一、題目介紹 本題鏈接為:小紅的爆炸串(二) 小紅定義一個字符串會爆炸,當且僅當至少有k對相鄰的字母不同。 例如,當 k k k=2時,"arc"會爆炸,而"aabb"則不會爆炸。 小紅拿到了一個長度為

【實戰】如何訓練一個客服語音對話場景VAD模型

1. 引言:客服場景下的VAD模型 在客服中心,每天都會產生海量的通話錄音。對這些錄音進行有效分析,可以用于服務質量監控、客戶意圖洞察、流程優化等。VAD在其中扮演著“預處理器”和“過濾器”的關鍵角色: 提升ASR效率與準確性:只將檢測到的語音片段送入ASR引擎,可以避免…

在 Dokploy 中為 PostgreSQL 搭建 PgBouncer 數據庫連接池(圖文)

前言:為什么你需要一個連接池? 如果你正在使用 Node.js (尤其是像 Next.js 這樣的框架) 配合 Prisma 操作 PostgreSQL 數據庫,你很可能在某個階段會遇到那個令人頭疼的錯誤:“Error: Too many clients already”。這通常發生在應…

Mac獲取終端歷史

在 macOS 中,歷史記錄文件的位置取決于你使用的 shell。以下是針對不同 shell 的歷史記錄文件的默認位置:對于 Bash 用戶: 歷史記錄文件通常位于 ~/.bash_history。對于 Zsh 用戶(macOS Catalina及以后版本默認使用的shell&#x…

高頻交易服務器篇

在 Binance 進行高頻交易(HFT)時,服務器的低延遲、高穩定性和快速網絡是關鍵。亞馬遜云(AWS) 提供了多種適合高頻交易的方案,以下是推薦的配置和優化策略:1. 選擇 AWS 區域(Region&a…

MVC與MVVM架構模式詳解:原理、區別與JavaScript實現

Hi,我是布蘭妮甜 !在當今復雜的前端開發領域,如何組織代碼結構一直是開發者面臨的核心挑戰。MVC和MVVM作為兩種經典的架構模式,為前端應用提供了清晰的責任劃分和可維護的代碼組織方案。本文將深入探討這兩種模式的原理、實現差異…

從小白到進階:解鎖linux與c語言高級編程知識點嵌入式開發的任督二脈(2)

【硬核揭秘】Linux與C高級編程:從入門到精通,你的全棧之路! 第三部分:Shell腳本編程——自動化你的Linux世界,讓效率飛起來! 嘿,各位C語言的“卷王”們! 在Linux的世界里&#xf…

鎖和事務的關系

事務的4大特性(ACID) 原子性(Atomicity):事務被視為一個單一的、不可分割的工作單元一致性(Consistency):事務執行前后,數據庫從一個一致狀態轉變為另一個一致狀態,并且強制執行所有…

電動車信用免押小程序免押租賃小程序php方案

電動車信用免押租賃小程序,免押租小程序,信用免押接口申請、對接開發,可源碼搭建,可二開或定制。開發語言后端php,前端uniapp。可二開定制 在線選擇門店,選擇車輛類型,選擇租賃方式&#xff08…

機器學習在智能安防中的應用:視頻監控與異常行為檢測

隨著人工智能技術的飛速發展,智能安防領域正經歷著一場深刻的變革。智能安防通過整合先進的信息技術,如物聯網(IoT)、大數據和機器學習,能夠實現從傳統的被動防御到主動預防的轉變。機器學習技術在智能安防中的應用尤為…

MySQL中DROP、DELETE與TRUNCATE的深度解析

在MySQL數據庫操作中,DROP、DELETE和TRUNCATE是三個常用的數據操作命令,它們都可以用于刪除數據,但在功能、執行效率、事務處理以及對表結構的影響等方面存在顯著差異。本文將從多個維度對這三個命令進行詳細對比和解析,幫助讀者更…

一條 SQL 語句的內部執行流程詳解(MySQL為例)

當執行如下 SQL: SELECT * FROM users WHERE id 1;在數據庫內部,其實會經歷多個復雜且有序的階段。以下是 MySQL(InnoDB 引擎)中 SQL 查詢語句從發送到結果返回的完整執行流程。 客戶端連接階段 客戶端(如 JDBC、My…

超詳細yolo8/11-detect目標檢測全流程概述:配置環境、數據標注、訓練、驗證/預測、onnx部署(c++/python)詳解

文章目錄 一、配置環境二、數據標注三、模型訓練四、驗證預測五、onnx部署c 版python版本 一、配置環境 我的都是在Linux系統下,訓練部署的;模型訓練之前,需要配置好環境,Anaconda、顯卡驅動、cuda、cudnn、pytorch等&#xff1b…

阿里云Flink:開啟大數據實時處理新時代

走進阿里云 Flink 在大數據處理的廣袤領域中,阿里云 Flink 猶如一顆璀璨的明星,占據著舉足輕重的地位。隨著數據量呈指數級增長,企業對數據處理的實時性、高效性和準確性提出了前所未有的挑戰 。傳統的數據處理方式逐漸難以滿足這些嚴苛的需…

【Linux】基礎開發工具(1)

1. 軟件包管理器 1.1 什么是軟件包 在Linux下安裝軟件, ?個常用的辦法是下載到程序的源代碼, 并進行編譯, 得到可執行程序. 但是這樣太麻煩了, 于是有些人把?些常?的軟件提前編譯好, 做成軟件包(可以理解成windows上 的安裝程序)放在?個服務器上, 通過包管理器可以很?便…

藍橋杯51單片機設計

#超聲波原理# ①超聲波測距原理:聲波反射原理 聲波分類: 超聲波測距原理 超聲波頻率越高,波長越短,反身性越強,衍射性越弱 ②超聲波模塊原理 發射原理 跳線帽 接收原理 問題: 1.超聲波發射模塊需…

【LeetCode 熱題 100】240. 搜索二維矩陣 II——排除法

Problem: 240. 搜索二維矩陣 II 編寫一個高效的算法來搜索 m x n 矩陣 matrix 中的一個目標值 target 。該矩陣具有以下特性: 每行的元素從左到右升序排列。 每列的元素從上到下升序排列。 文章目錄 整體思路完整代碼時空復雜度時間復雜度:O(M N)空間復…

Android Input 系列專題【inputflinger事件的讀取與分發】

Android輸入系統在native中的核心工作就是,從Linux驅動設備節點中讀取事件,然后將這個事件進行分發,這兩項工作分別交給了InputReader和InputDispatcher來做。 他們的源碼都屬于native層inputflinger里面的一部分,如下架構&#…

【大模型LLM】GPU計算效率評估指標與優化方法:吞吐率

GPU計算效率評估指標與優化方法:吞吐率 一、核心效率指標二、大模型吞吐率(Large Model Throughput)三、關鍵性能瓶頸分析四、實際測量工具五、優化策略總結 一、核心效率指標 吞吐率(Throughput) 定義:單位…

Nestjs框架: 集成 Prisma

概述 在 NestJS 的官方文檔中,有兩處對數據庫進行了介紹 第一處位于左側“Techniques(技術)”部分下的“數據庫”板塊,中文文檔里同樣有這個位置。 Database 第二處是下面的“Recipes (秘籍)”板塊,這里有多個部分都與…