1 Star 0 Fork 0

Woowill / lvgljs

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

lvgljs

这个是lv_binding_js 在github上的源码中的.git重命名为lvgljs的文件夹,用于快速拉起github上的代码以及子模块

Write lvgl with JavaScript. It uses React's virtual DOM concept to manipulate lvgl UI components, providing a familiar experience to users.

代码复原

复原方法

  • 将lvgljsgit 复制到另一个文件夹 lv_binding_js 中并重名为.git
  • 因为gitee最大单个文件是100M,但是lvgl的pack包大于200M,所以我通过压缩的多个文件的方式进行压缩,这里需要进入lvgljsgit\modules\src\deps\lvgl\objects\pack文件夹,解压pack-74fc4c670dd3de84280e4291d99af23aea58cafa.zip.001到当前文件夹,然后删除zip.
  • git reset --hard 将源码萃取出来
  • git submodule init
  • git submodule update 将子模块代码提前出来
  • git pull 更新github上的仓库进行更新(可以不更新)

复原如下

  • 解压pack-74fc4c670dd3de84280e4291d99af23aea58cafa
  • 还原源码命令

环境搭建

包括vmware安装和ubuntu虚拟机安装,我没有尝试过子系统

vmware安装

vmware安装 vmware16pro许可证密钥,自给自足 VMware-workstation-full-16.2.4-20089737.exe

ubuntu 虚拟机安装,我用的22.04.1,自己从下面连接中选,必须有网,并且vmware tools是自动安装

ubuntu-22.04.1-desktop-amd64.iso 这个安装没有什么技巧了,只是注意硬盘给大一点搞个100G吧!

搭建Samba服务

这个的作用是将ubuntu服务器里面的文件夹共享给windows

安装samba 服务器

  • sudo apt-get install samba

新建共享目录和为目录分配权限(即是说linux系统想共享的目录)

  • mkdir /home/john/workspace
  • sudo chmod 777 /home/john/workspace/ -R

配置samba服务器

  • sudo vim /etc/samba/smb.conf
  • 往文件添加内容
    [workspace]
    comment = My samba
    path = /home/john/workspace
    browseable=yes
    writeable=yes
  • 上面几行的意思是要共享的路径和是否可浏览和读写,以及标识信息

为samba分配用户名(这里,我的用户名为john,敲完回车会弹出设置2次密码)

  • sudo smbpasswd -a john

在ubuntu上ifconfig查看ip地址

在windows 计算机下输入如下

  • \192.168.110.16
  • 点击右键 映射网络驱动器,将其映射到window磁盘中

ubuntu 编译运行demo

包括依赖的包,遇到的编译问题以及demo运行

安装vsc

将代码通过上面的方式还原到wakepace目录下lv_binding_js目录下

安裝包

  • ubuntu安装一些包,可以参考lv_binding_js\doc\build\build-ubuntu-x86-simulator.md
  • 注意如果点击readme中的【ubuntu build Notes for sdl simulator】时,链接中的build-ubuntu-x86-simu'''al'''tor.md 需改为build-ubuntu-x86-simu'''la'''tor.md
  • 我安装的命令如下

注意里面的文字标注

编译make dev-x86遇到的问题

  • 问题1:
    Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR)
    
    -- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.81.0")  
    CMake Deprecation Warning at src/jsruntime/deps/quickjs/CMakeLists.txt:1 (cmake_minimum_required):
      Compatibility with CMake < 2.8.12 will be removed from a future version of
      CMake.
    
    通过如下方式解决
    1-->sudo apt-get upgrade
    2-->sudo apt-get install libcurl4-openssl-dev
  • 问题2:
    CMake Error at CMakeLists.txt:41 (find_package):
      By not providing "FindSDL2.cmake" in CMAKE_MODULE_PATH this project has
      asked CMake to find a package configuration file provided by "SDL2", but
      CMake did not find one.
    
      Could not find a package configuration file provided by "SDL2" with any of
      the following names:
    
        SDL2Config.cmake
        sdl2-config.cmake
    
      Add the installation prefix of "SDL2" to CMAKE_PREFIX_PATH or set
      "SDL2_DIR" to a directory containing one of the above files.  If "SDL2"
      provides a separate development package or SDK, be sure it has been
      installed.
    
    SDL 需要sdl2.cmake 的问题
    通过如下方式解决
    1-->sudo apt-get install libsdl2-2.0
    2-->sudo apt autoremove
    3-->sudo apt-get install libsdl2-dev
  • 问题3: 注意有几个文件的大小写问题,例如Line目录,但是Cmakelist.txt文件路径使用的line,导致找不到

  • 问题4: Cmakelist.txt中的版本以及命令问题

编译make dev-x86以及运行demo

  • ./dev_x86/lvgljs ./demo/widgets/index.js

windows 下 也是可以编译make dev-x86以及运行demo,只是windows需要修改的东西比较多

  • D:\code\lv_binding_js> ./dev_x86/lvgljs .\test\dropdownlist\3\index.js

公众号:Bluetooth-BLE

公众号:Bluetooth-BLE

QQ群:177341833

QQ群:177341833

计划使用RT-Thread + LVGLJS 搞一个开源 手表,不知道有没有可能

MIT License Copyright (c) 2023 John Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

这个是lv_binding_js在github上的源码中的.git,这里将lvgljsgit 复制到另一个文件夹lv_binding_js中并重名为.git,然后使用 git reset --hard 将源码萃取出来 执行git submodule init和git submodule update 将子模块代码提前出来 然后可以直接git pull 进行和github上的仓库进行更新 展开 收起
Shell 等 3 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/woowill/lvgljs.git
git@gitee.com:woowill/lvgljs.git
woowill
lvgljs
lvgljs
master

搜索帮助