SylixOS嵌入式操作系统|论坛

标题: 创建应用,base报错 [打印本页]

作者: xiashiwendao    时间: 2021-1-28 20:10
标题: 创建应用,base报错
本帖最后由 xiashiwendao 于 2021-1-28 20:36 编辑

Base之前已经编译OK
创建了一个app(yasm的源码),在编译的过程发现basel工程的一个异常,很奇怪,报的异常是API_TShellOptOpt重复定义,详细信息如下,还请大牛指点:

arm-sylixos-eabi-gcc -mcpu=arm920t  -mno-unaligned-access -O0 -g3 -gdwarf-2 -Wall -fmessage-length=0 -fsigned-char -fno-short-enums -fno-strict-aliasing   -fPIC -DSYLIXOS  -I"C:\Users\Lorry_DHC\workspace\RealEvo\yasm/" -I"./Mkfiles/dj" -I"C:/Users/Lorry_DHC/workspace/RealEvo/SylinxOS_Base/libsylixos/SylixOS" -I"C:/Users/Lorry_DHC/workspace/RealEvo/SylinxOS_Base/libsylixos/SylixOS/include" -I"C:/Users/Lorry_DHC/workspace/RealEvo/SylinxOS_Base/libsylixos/SylixOS/include/network"  -MMD -MP -MF ./Debug/dep/yasm/frontends/yasm/yasm-options.d -c frontends/yasm/yasm-options.c -o Debug/obj/yasm/frontends/yasm/yasm-options.o
In file included from c:\users\lorry_dhc\workspace\realevo\sylinxos_base\libsylixos\sylixos\shell\include\ttiny_shell_api.h:31:0,
                 from C:/Users/Lorry_DHC/workspace/RealEvo/SylinxOS_Base/libsylixos/SylixOS/shell/include/ttiny_shell.h:28,
                 from C:/Users/Lorry_DHC/workspace/RealEvo/SylinxOS_Base/libsylixos/SylixOS/include/SylixOS.h:59,
                 from C:/Users/Lorry_DHC/workspace/RealEvo/SylinxOS_Base/libsylixos/SylixOS/include/stdio.h:30,
                 from C:\Users\Lorry_DHC\workspace\RealEvo\yasm/util.h:55,
                 from frontends/yasm/yasm-options.c:30:
frontends/yasm/yasm-options.c: In function 'help_msg':
c:\users\lorry_dhc\workspace\realevo\sylinxos_base\libsylixos\sylixos\shell\getopt\getopt_var.h:52:30: error: conflicting types for 'API_TShellOptOpt'
#define optopt             (*API_TShellOptOpt())
                              ^
frontends/yasm/yasm-options.c:163:23: note: in expansion of macro 'optopt'
     char optbuf[100], optopt[100];
                       ^
c:\users\lorry_dhc\workspace\realevo\sylinxos_base\libsylixos\sylixos\shell\getopt\getopt_var.h:41:30: note: previous declaration of 'API_TShellOptOpt' was here
LW_API INT                  *API_TShellOptOpt(VOID);
                              ^
make: *** [Debug/obj/yasm/frontends/yasm/yasm-options.o] Error 1

其中,yasm-options.h里面定义如下:
... ...
LW_API INT                  *API_TShellOptOpt(VOID);
... ...
#define optopt             (*API_TShellOptOpt())
... ...



作者: 肖曼逸    时间: 2021-2-1 11:08
您这个问题可能是应用程序的函数声明和系统的重复定义了,建议您检查下
作者: xiashiwendao    时间: 2021-2-1 13:52
感谢,注释掉了移植应用中的同名定义,问题解决。




欢迎光临 SylixOS嵌入式操作系统|论坛 (https://bbs.sylixos.com/) Powered by Discuz! X3.2