It looks like there are some types (or other identifiers) used by board.h that are notdefined at the point in merc.h board.h is included. If you post the code from board.hfrom around line 39 at least, we would be better able to determine what the codeneeds. If it is an out of place definition, just changing the order of the code (movingthe include of board.h down, or placing the needed definition before the include)should fix the problem. It is also possible a needed definition is totally missing, orboard.h itself has an error. Showing the code will also help if that is the case. Alsonote that in cases like this (when you have a lot of errors like this) it is best to workon the first one and not worry that much about the later ones, as the first might bethrowing the compile out of sync and will vanish once the original is fixed.

The struct definition for NOTE_DATA must be made prior to the use of it. If not, then you can use some form of forward declaration… like a typedef! I'm sure it's in there somewhere. Just look for something like

Oh, I'm aware of what the look like :P. Here's an example of what your problem is…

struct this_data{ SOME_DATA * var;};

struct some_data{ int other_var;};

This code will raise the same error you're getting. The reason is, when the compiler (gcc… the thing that's invoked when you type 'make') doesn't know what SOME_DATA is. Compilers are case sensitive, so it has -no- idea what SOME_DATA is. For this, in C, we use something called a type def. Now the same code, with a typedef…

typedef struct some_data SOME_DATA;

struct this_data{ SOME_DATA * var;};

struct some_data{ int other_var;};

will no longer raise a warning. Because you're telling the compiler that you have a struct named some_data, and we're calling it SOME_DATA. Don't worry Mr. Compiler, once you link you'll see it all, so go along with it for now. I'm guessing that somewhere in your code, the typedef for NOTE_DATA is below the struct board_data definition. What you'd have to do is make sure they're in the right order. You must make sure that the typedef is -before- any usage, so something like

This is still wrong. For this to be correct, and compile, the typedef would have to be before the #include. Or, it could be before the struct this_data definition in this.h. I hope this helps you fix your problem…