• Lv0
    粉丝0

积分0 / 贡献0

提问1答案被采纳0文章0

作者动态

    L0 轻量系统 文件系统中的fs 编译问题

    skylyzhao 显示全部楼层 发表于 2024-11-13 18:46:51

    在定义了 LOSCFG_LIBC_NEWLIB的情况下 报错信息为: ../../../kernel/liteos_m/components/fs/vfs/vfs_fs.c:636: multiple definition of `write'; /opt/gcc-arm-none-eabi-10.3-2021.10/bin/../lib/gcc/arm-none-eabi/10.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc.a(lib_a-syswrite.o):syswrite.c:(.text.write+0x0): first defined here 是liteos_m中 文件系统的写操作重定义问题,和libc.a 重复了,我在STM32F429VGTx_FLASH.ld中增加排除系统自带库操作。 /DISCARD/ : { libc.a ( ) libm.a ( ) libgcc.a ( * ) }

    目前解决方案是修改了vfs.c中函数的名称定义:

    1. ssize_t write(int fd, const void *buff, size_t bytes)改为 ssize_t __wrap_write(int fd, const void *buff, size_t bytes)

    2. FUNC_ALIAS(write, _write, (int fd, const void *buff, size_t bytes), ssize_t);改为下面的

    FUNC_ALIAS(__wrap_write, _write, (int fd, const void *buff, size_t bytes), ssize_t); 请问还有其他办法能解决这个问题吗?

    您尚未登录,无法参与评论,登录后可以:
    参与开源共建问题交流
    认同或收藏高质量问答
    获取积分成为开源共建先驱

    精彩评论1

    skylyzhao

    沙发 发表于 2024-11-13 18:50:52
    补充 openharmony V4.1r

    Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

    返回顶部