I have a project to be programmed on to my LPC 2148.(1 main.c and a couple f header files)
I have made a couple of header files.
I declared a constant in the first header file(say a.h )and included the file in the second header file (say b.h).
now when I compile,wherever i used the constant in b.h,I get the error telling me that the constant is undeclared even though it is declared in the header file which is included in this file.
How can I get around the following error ?I have a lot of constants declared over a set of 22 header files.
Any help is greatly appreciated.
Thanks in advance .
Maybe you could tell us what you mean by declare. And what you mean by define.
And you say you used the constant in one header file - are you placing code in header files?
I have the following lines in a .h file (named hci.h)
#define HCI_CMND_SOCKET 0x1001
and I wanted to use this in a file socket.c.
So I wrote something like this at the beginning of the socket.c file
#include "hci.h"
But the following error occurs
socket.c(228): error: #20: identifier "HCI_CMND_SOCKET" is undefined
Please note that hci.h is one of the files.There are a total of 22 files which are included in each other and in the final main.c file.Also I have included the following in the corresponding header files
#ifndef __HCI_H__ #define __HCI_H__
According to me the above error shouldnt occur. What do I do to prevent this?
Thanks for the reply
Make sure the compiler could find your header files properly. Where do the files locate? Can the compiler find them?
Make sure you stated #endif at the end of each header file.
If the comppiler couldn't find the file, there would be an error message to say so...
"Make sure you stated #endif at the end of each header file"
That should also give a specific error message
View all questions in Keil forum