This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Error: this declaration has no storage class or type specifier

Hi to all
I am working on encryption AES Algorithm on LPC1768.
The problem comes when I compile the project from Keil. I got this log:
Any pointers or suggestion will be helpful.

 *** Using Compiler 'V5.06 update 3 (build 300)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
Build target 'Target 1'
compiling main.c...
aes_128.h(1): error:  #77-D: this declaration has no storage class or type specifier
  o/**********************************************************************
aes_128.h(35): error:  #65: expected a ";"
  void genAes128ExpKey(const key_t key[NK_AES128], expKey_t expKey[KSCH_AES128_SIZE]);
main.c(146): warning:  #223-D: function "toggleLed" declared implicitly
                if( status == OK) toggleLed(LED_OK);
main.c(146): error:  #20: identifier "LED_OK" is undefined
                if( status == OK) toggleLed(LED_OK);
main.c(195): warning:  #223-D: function "SystemCoreClockUpdate" declared implicitly
        SystemCoreClockUpdate();
main.c(198): warning:  #223-D: function "SysTick_Config" declared implicitly
        SysTick_Config(SystemCoreClock/1000);
main.c(198): error:  #20: identifier "SystemCoreClock" is undefined
        SysTick_Config(SystemCoreClock/1000);
main.c(206): warning:  #223-D: function "setupLeds" declared implicitly
        setupLeds();
main.c(245): warning:  #223-D: function "setVisualError" declared implicitly
                        setVisualError();
main.c(270): warning:  #223-D: function "toggleLed" declared implicitly
                toggleLed(LED_BLINK);
main.c(270): error:  #20: identifier "LED_BLINK" is undefined
                toggleLed(LED_BLINK);
main.c: 6 warnings, 5 errors
".\Objects\LPC17xx.axf" - 5 Error(s), 6 Warning(s).
Target not created.
Build Time Elapsed:  00:00:00

I am using the latest version of the toolchain, Keil V5 and the pack for my controller is updated. Any idea about where can be the problem?

Thanks in advance
Baba

  • So, the compiler did emit these descriptive error messages. Did you open the files and look? The intention with the messages is that a normal developer should be able to understand what is wrong and fix the problems.

  • Dear Per Westermark
    Thanks for quick reply and guidance.

    I go through your suggestions. Now the error is:

    *** Using Compiler 'V5.06 update 3 (build 300)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
    compiling main.c...
    main.c(142): warning:  #223-D: function "toggleLed" declared implicitly
                    if( status == OK) toggleLed(LED_OK);
    main.c(142): error:  #20: identifier "LED_OK" is undefined
                    if( status == OK) toggleLed(LED_OK);
    main.c(191): warning:  #223-D: function "SystemCoreClockUpdate" declared implicitly
            SystemCoreClockUpdate();
    main.c(194): warning:  #223-D: function "SysTick_Config" declared implicitly
            SysTick_Config(SystemCoreClock/1000);
    main.c(194): error:  #20: identifier "SystemCoreClock" is undefined
            SysTick_Config(SystemCoreClock/1000);
    main.c(202): warning:  #223-D: function "setupLeds" declared implicitly
            setupLeds();
    main.c(241): warning:  #223-D: function "setVisualError" declared implicitly
                            setVisualError();
    main.c(266): warning:  #223-D: function "toggleLed" declared implicitly
                    toggleLed(LED_BLINK);
    main.c(266): error:  #20: identifier "LED_BLINK" is undefined
                    toggleLed(LED_BLINK);
    main.c: 6 warnings, 3 errors
    "main.c" - 3 Error(s), 6 Warning(s).
    


    Any pointers or suggestion will be helpful.

    Thanks in advance
    Baba

  • The suggestion? Don't copy code unless you understand it. Then you would know how to modify the code so the compiler can find LED_OK, LED_BLINK, ...

    The warnings you see are _extremely_ basic. So basic that you should understand them if you had spent an hour or two with an introductionary book on the C programming language.

    There are no shortcuts possible - you just have to spend _own_ time learning the C programming language. Or switch to doing something else.