OpenHarmony开发者论坛
标题:
L0 轻量系统 文件系统中的fs 编译问题
[打印本页]
作者:
skylyzhao
时间:
前天 18:46
标题:
L0 轻量系统 文件系统中的fs 编译问题
[md]在定义了 `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);`
请问还有其他办法能解决这个问题吗?
[/md]
作者:
skylyzhao
时间:
前天 18:50
补充 openharmony V4.1r
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5