Rahul wrote:
> On May 7, 5:36 pm, "Victor Bazarov" <v.Abaza...@[EMAIL PROTECTED]
> wrote:
>> Rahul wrote:
>>> Hi Everyone,
>>
>>> I have the following files,
>>
>>> file.h
>>
>>> typedef struct
>>> {
>>> int data;
>>> #if (MACRO == 1)
>>> int net_data;
>>> #endif
>>> } Object;
>>
>>> file1.cpp
>>
>>> #include "file.h"
>>> uses object.data and object.net_data (under MACRO cc)
>>
>>> file2.cpp
>>
>>> #include "file.h"
>>> uses object.data and object.net_data (under MACRO cc)
>>
>>> When i compile the file1.cpp it compiles fine without any errors,
>>> however the file2.cpp gives an error saying
>>
>>> "C2363E: member net_data not found in struct object"
>>
>>> Note that the macro is set to 1 before compilation of these two
>>> files... I'm not able to figure out as to why the file.h is expanded
>>> (with MACRO as 0) and file2.cpp is expanded (with MACRO as 0)...
>>
>>> Has anyone faced similar situation? I have no clue as to how to fix
>>> the problem?
>>
>> What is "cc"? Once you figure it out, post to the newsgroup that
>> deals with it, because your question is apparently compiler-specific.
>>
>> If instead of defining your macro (and, BTW, did you give it the
>> value '1' at that time?) in the command line (seems that's what you
>> did) you define it like so:
>>
>> ------- file2.cpp
>> #define MACRO 1
>> #include "file.h"
>> ...
>>
>> , does it work then? If it does, and in the command line it does
>> not, you got the _usage_ issue, not a language issue.
>>
>> V
>> --
>> Please remove capital 'A's when replying by e-mail
>> I do not respond to top-posted replies, please don't ask
>
> I meant, Conditional compilation by cc... I posted in here, as c++
> developers over here might have faced this issue...
Uh... How to break it to ya... There are _literally_ scores of
different compilers out there. "C++ developers over here" use all
of them. Half of those compilers have their main module named 'cc'
(or something very close). Which ones did you intend to reach with
your post? Once again, your issue is not of the _langauge_ kind
but relates to the _usage of your compiler_. Ask in the newsgroup
that *deals with your particular compiler*. If you are unsure what
newsgroup to post to, at least state the platform you're using and
the version of your compiler, then we can suggest a particular NG
for you. And RTFFAQ before posting as well.
V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask


|