Kevin_shuixin 2024-05-30 22:30 采纳率: 40%
浏览 327
已结题

lvgl V9移植到linux开发板

lvgl V9移植到linux开发板,在交叉编译时遇到这个报错:make: *** 没有规则可制作目标“build/obj//home/embedfire/lvgl_6ull/workspace_lvgl9.1/lvgl/src/draw/sw/blend/neon/lv_blend_neon.o”,由“default” 需求。 停止
我用的是arm-linux-gnueabihf-gcc编译器,我不知道应该怎么编译这个文件,在lvgl8.3是正常的

  • 写回答

22条回答 默认 最新

  • 阿里嘎多学长 2024-05-30 22:30
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    根据您提供的错误信息,看起来编译器在尝试编译 lv_blend_neon.o 目标文件时遇到了问题。这个问题可能是由于多种原因造成的,例如编译器不支持NEON指令集,或者Makefile没有正确配置来处理NEON相关的编译规则。

    首先,确保您的交叉编译器支持ARM的NEON指令集。NEON是ARM的SIMD(单指令多数据)指令集,用于加速多媒体和信号处理操作。如果您的交叉编译器不支持NEON,您可能需要更新它或使用一个支持NEON的编译器。

    其次,检查您的Makefile或构建系统配置,确保它包含了针对NEON指令集的编译规则。在LVGL的源码中,NEON相关的代码可能需要特定的编译选项来启用。

    这里是一个基于搜索结果的一般性解决方案:

    1. 检查编译器支持:确保您的 arm-linux-gnueabihf-gcc 编译器支持NEON指令集。您可以通过查看编译器的文档或使用 --mfpu=neon 编译选项来检查。

    2. 修改Makefile:如果您的Makefile没有正确设置来编译NEON代码,您可能需要手动添加规则。例如,您可以添加类似下面的规则到Makefile中:

    ifeq ($(TARGET),arm)
    CFLAGS += -mfpu=neon
    endif
    
    1. 更新LVGL配置:在 lv_conf.h 配置文件中,确保启用了NEON相关的宏定义,例如:
    #define LV_USE_GPU_NXP_PXP 1
    #define LV_USE_GPU_NXP_VG_LITE 1
    
    1. 清理构建:在重新编译之前,运行 make clean 来确保之前的构建文件不会干扰新的编译过程。

    2. 重新编译:在配置好Makefile和编译器选项后,重新运行编译命令。

    如果上述方法仍然不能解决问题,您可能需要查看LVGL的issue跟踪器或社区论坛,看看是否有其他开发者遇到了类似的问题,并找到了解决方案。

    至于参考资料,以下是一些可能对您有帮助的链接:

    1. LVGL移植到Linux开发板 - CSDN博客[^2^]
    2. 移植lvgl v9到嵌入式linux设备 - CSDN博客[^3^]
    3. 沁恒CH32V307开发板移植lvgl V9版本图形库 - CSDN博客[^4^]

    请注意,这些链接可能需要您根据具体情况进行调整和适配。希望这些信息能帮助您解决问题。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月5日
  • 赞助了问题酬金15元 5月30日
  • 创建了问题 5月30日