如题,
针对ESP-IDF5.0,项目中要用到LVGL,通过https://components.espressif.com/search/org:lvgl,查到有注册库lvgl 8.3.0;
于是用idf.py add-dependency lvgl==8.3.0添加支持LVGL时,命令能成功。但在 idf.py set-target esp32s3时,提示如下错误:
-- Building ESP-IDF components for target esp32s3
Solving dependencies requirements
CMake Error at D:/Espressif/frameworks/esp-idf/tools/cmake/build.cmake:525 (message):
Traceback (most recent call last):
File "runpy.py", line 194, in _run_module_as_main
File "runpy.py", line 87, in _run_code
File "D:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\idf_component_manager\prepare_components\__main__.py", line 3, in <module>
main()
File "D:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\idf_component_manager\prepare_components\prepare.py", line 126, in main
args.func(args)
File "D:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\idf_component_manager\prepare_components\prepare.py", line 39, in prepare_dep_dirs
ComponentManager(args.project_dir).prepare_dep_dirs(
File "D:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\idf_component_manager\core.py", line 404, in prepare_dep_dirs
downloaded_component_paths = download_project_dependencies(
File "D:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\idf_component_manager\dependencies.py", line 99, in download_project_dependencies
solution = solver.solve()
File "D:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\idf_component_manager\version_solver\version_solver.py", line 33, in solve
result = self._solver.solve()
File "D:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\idf_component_manager\version_solver\mixology\version_solver.py", line 63, in solve
if not self._run():
File "D:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\idf_component_manager\version_solver\mixology\version_solver.py", line 76, in _run
self._propagate(next_package)
File "D:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\idf_component_manager\version_solver\mixology\version_solver.py", line 108, in _propagate
root_cause = self._resolve_conflict(incompatibility)
File "D:\Espressif\python_env\idf5.0_py3.8_env\lib\site-packages\idf_component_manager\version_solver\mixology\version_solver.py", line 282, in _resolve_conflict
raise SolverFailure(incompatibility)
idf_component_manager.version_solver.mixology.failure.SolverFailure:
Because project depends on espressif/lvgl (==8.3.0) which doesn't match any
versions, version solving failed.
Call Stack (most recent call first):
D:/Espressif/frameworks/esp-idf/tools/cmake/project.cmake:434 (idf_build_process)
CMakeLists.txt:20 (project)
-- Configuring incomplete, errors occurred!
是不是目前LVGL不支持idf-manager?
谢谢
idf.py add-dependency lvgl 错误[已解决]
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: idf.py add-dependency lvgl 错误
这句有问题:idf.py add-dependency lvgl==8.3.0
需改为:idf.py add-dependency lvgl/lvgl==8.3.0
红色部分,如果不指明的话,默认会从 espressif 下找,但 espressif 又没有提供 lvgl,所以报错:
这个相当于是一个维护者的 name。
需改为:idf.py add-dependency lvgl/lvgl==8.3.0
红色部分,如果不指明的话,默认会从 espressif 下找,但 espressif 又没有提供 lvgl,所以报错:
Code: Select all
Because project depends on espressif/lvgl (==8.3.0) which doesn't match any
versions, version solving failed.
-
- Posts: 786
- Joined: Wed Nov 14, 2018 8:45 am
Re: idf.py add-dependency lvgl 错误
另外,idf.py add-dependency lvgl==8.3.0 后,会在 main 目录下生成 idf_component.yml,你可以打开看下,类似如下:
你也可以直接改 espressif/lvgl 成 lvgl/lvgl。
如果你直接又执行了 idf.py add-dependency lvgl/lvgl==8.3.0,那么这个文件中会是:
你需要把 espressif/lvgl 这行删除。
Code: Select all
## IDF Component Manager Manifest File
dependencies:
espressif/lvgl: "==8.3.0"
## Required IDF version
idf:
version: ">=4.1.0"
# # Put list of dependencies here
# # For components maintained by Espressif:
# component: "~1.0.0"
# # For 3rd party components:
# username/component: ">=1.0.0,<2.0.0"
# username2/component2:
# version: "~1.0.0"
# # For transient dependencies `public` flag can be set.
# # `public` flag doesn't have an effect dependencies of the `main` component.
# # All dependencies of `main` are public by default.
# public: true
如果你直接又执行了 idf.py add-dependency lvgl/lvgl==8.3.0,那么这个文件中会是:
Code: Select all
lvgl/lvgl: "==8.3.0"
espressif/lvgl: "==8.3.0"
Who is online
Users browsing this forum: No registered users and 37 guests