I copied my working build off to another drive and downloaded everything out of SVN on Friday. I am using SVN outside of CCSv6 so that is not an issue. I compile my files and several give me errors such as:
Field 'address' could not be resolved
Here is the line of code:
modbus_2_bpp_msg.address[i] = address + i;
Here is the enum definition in the header file:
struct modbus_mailbox_msg
{
unsigned char number_of_data_elements;
unsigned char data_type;
unsigned short address[8];
unsigned short data[8];
};
Here is the data declaration in the source file where the error is reported:
struct modbus_mailbox_msg modbus_2_bpp_msg;
So, to be sure that the header file is being handled, I put a #error directive in the header file immediately before the struct definition and I get an error from the #error directive. That means the compiler is seeing the header file. I look at the console output and just see the warnings from the problems between errno.h and serrno.h, so the compiler is actually producing proper output.
I also get errors such as:
Symbol "AF_INET' could not be resolved.
SInce I am including the network headers from NDK, that seems very unlikley. I also get Symbol could not be resolved for my own #defined values.
It seems to me that what is happening is that the C parser that is part of Eclipse is somehow confused and is either pulling a header from an old directory or some other project configuration file.
I used WinMerge and compared all of the files between a working version of the project and the new one I just checked out of SVN. There are *ZERO* differences in the project files.
How do you debug something in Eclipse getting terribly confused?