cnxmx 发表于 2005-7-11 11:51:49

ADS编译程序出错!!!

请教斑竹,再调试有关UCOS+d12的程序时,总有如下错误:

Error   : C2225W: declaration lacks type/storage-class (assuming 'int'): 'f'
Main.c line 37   

Error   : C2285E: expected ';' or ',' - inserted ';' before 'OS_STK'
Main.c line 37   


程序错误行为:

extern EPPFLAGS bEPPflags;(在该行报错!!)

extern OS_STKTaskSetupStk;


其中EPPFLAGS是定义的USB事件标志,结构如下:
typedef union _epp_flags
{
        struct _flags
        {
        unsignedremote_wakeup                   : 1;
        unsignedcontrol_state                : 2;
        unsignedconfiguration                : 1;
        unsignedcommand                        : 1;
        } bits;
        INT16U value;
} EPPFLAGS;

查看ADS帮助文件如下解释:
C2225W: declaration lacks type/storage-class (assuming 'int')
For C++ only, the -Ei option downgrades from error to warning the use of implicit int in constructs
such as const i;.

但是,实际是报错的请问该如何解决啊?

limingth 发表于 2005-7-19 12:10:42

我编译了一下,似乎没问题啊,我的测试如下:

typedef union _epp_flags
{
        struct _flags
        {
                unsigned remote_wakeup : 1;
                unsigned control_state : 2;
                unsigned configuration : 1;
                unsigned command : 1;
        } bits;
        int value;
} EPPFLAGS;

int main( void )
{
        EPPFLAGSbEPPflags;
        bEPPflags.value = 1;
       
        return 1;       
}

我直接 armcctest.c ,没有报错,你可以试试。

Anomymous 发表于 2005-7-19 14:55:49

:-D:-D

谢谢斑竹了,问题已经解决了,原因是在其他文件中的一个 extern关键字用错了!

谢谢了!

希望以后能多多交流!

limingth 发表于 2005-7-19 14:59:19

解决就好解决就好, :lol:
页: [1]
查看完整版本: ADS编译程序出错!!!