This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/EK-TM4C1294XL: Project Built Yesterday, Today, ""tCGIHandler" is undefined"

Part Number: EK-TM4C1294XL

Tool/software: Code Composer Studio

I have CCS version 8 which I am using for development.  Yesterday my project, based on the enet_s2e example code, was building with out error. I checked my changes in to a repository and went home happy.

This morning when I build I get an error on a file I did not touch. It is a file the lwip library:  C:\ti\tivaware_c_series_2_1_4_178\third_party\lwip-1.4.1\apps\httpserver_raw\httpd.h

My compile message:
>> Compilation failure subdir_rules.mk:44: recipe for target 'lwip_task20190426_1300.obj' failed "../lwip_task20190426_1300.c", line 42: warning #78-D: this declaration has no storage class or type specifier "C:/ti/TivaWare_C_Series-2.1.4.178/third_party/lwip-1.4.1/apps/httpserver_raw/httpd.h", line 91: error #66: expected a ";" "C:/ti/TivaWare_C_Series-2.1.4.178/third_party/lwip-1.4.1/apps/httpserver_raw/httpd.h", line 101: error #20: identifier "tCGIHandler" is undefined 2 errors detected in the compilation of "../lwip_task20190426_1300.c". gmake[1]: *** [lwip_task20190426_1300.obj] Error 1 gmake[1]: Target 'main-build' not remade because of errors. gmake: *** [all] Error 2 makefile:173: recipe for target 'all' failed

Part of the file in question is:

typedef const char *(*tCGIHandler)(int iIndex, int iNumParams, char *pcParam[],
                             char *pcValue[]);

/*
 * Structure defining the base filename (URL) of a CGI and the associated
 * function which is to be called when that URL is requested.
 */
typedef struct
{
    const char *pcCGIName;
    tCGIHandler pfnCGIHandler;
} tCGI;

There is no missing ";" I can find.

On another computer (Our factory test) I updated the project files and the project builds with out error. On the off chance I had corrupted my library file

I copied from the test computer: C:\ti\tivaware_c_series_2_1_4_178\third_party\lwip-1.4.1\apps\httpserver_raw\httpd.h to my development computer.  The error remains.

Not sure what to do next.

<edit spelling>

  • Screen shot of more of the file for which the error is reported:

  • The declaration for tCGIHandler is first declaration in the TivaWare_C_Series-2.1.4.178\third_party\lwip-1.4.1\apps\httpserver_raw\httpd.h include file.

    Is it possible that there is a missing ";" or some other error in the file which includes httpd.h?

    E.g. Given the following warning which precedes the error from httpd.h what is at lwip_task20190426_1300.c", line 42?

    Forrest Erickson said:
    "../lwip_task20190426_1300.c", line 42: warning #78-D: this declaration has no storage class or type specifier

  • Try adding the build option --verbose_diagnostics.  It causes the compiler to echo the problem source lines with a mark next to the point on the line where the error begins.  It often makes it easier to understand the diagnostic.

    Thanks and regards,

    -George

  • Chester,
    Thanks for pointing out the warning regarding the file "lwip_task20190426_1300.c"

    That was my clue. That file was not part of the project It was a copy I made of the file lwip_task so I could back out some changes. Apparently after restarting my computer the project picked up the file and then choked reporting an error.  Not sure why that all happens, but when I delete the file I can build with our error.

    My problem is resolved and thanks again.

  • Hello George,

    Thanks for the tip on verbose diagnostics.

    I have already cleared the error (and hopefully learned from my mistake) that caused me to start this thread.

    I am sure I can code up some new errors to test out the new verbosity!

    Thanks,

    Forrest Erickson