We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, I've been looking at this compile error for a few hours now so I decided to look for some community support.
I created a header file "SCMCtl.h" which contains a Struct declaration and a function prototype. Here is the declaration:
//SCMCtl.h struct SCM_status { unsigned char mode; unsigned char battery; unsigned char door; unsigned char light; }; struct Cassete_status { unsigned char mode; unsigned char battery; }; struct Status { unsigned int number_of_cassettes; unsigned int status_read_ok; struct SCM_status SCM; struct Cassete_status Cassette1; struct Cassete_status Cassette2; struct Cassete_status Cassette3; struct Cassete_status Cassette4; }; struct Status SCM_PO(void);
In my main module, where I create two instances of struct Status and make a call to SCM_PO();, I include the header file. However I get:
*** ERROR C230 IN LINE 47 OF main.c: 'Status': unknown struct/union/enum tag *** ERROR C230 IN LINE 48 OF main.c: 'Status': unknown struct/union/enum tag *** ERROR C202 IN LINE 64 OF main.c: 'statusRE': undefined identifier *** ERROR C202 IN LINE 73 OF main.c: 'statusGR': undefined identifier
However if I declare the structs and type the func proto directly in the file, I am able to compile with no problems whatsoever.
This seems very strange to me since I have always thought of the include process as copy/paste almost. I can´t understand why one way works and the other doesn´t.
Thanks for the input!
Pablo