[aspectc-user] includes on command line

Marti Bayo-alemany malemany at nero.com
Thu Sep 8 11:40:07 CEST 2005


Hi Fabian and all aspect C++ users,

Probably you are right I am working on it.

I discovered the following ...
If A.h from directory C includes B.h from directory D. The order of the 
includes should be the following ...
-I"D" -I"C" -I"F" -I"G"
It seems the ac++ is searching from right to left. So a header in G could 
include F,C and D. However a header on D could not include a header from C.

In another scenario I detected another different things with the headers. On 
that case all the headers are on the same directory. So the order of "-I"s 
is not a problem.

symbian scenario
-----------------
For example in symbian there is a header which is called eikdef.h. That 
header includes ASShdBitFlags.h and in ASShdBitFlags.h another header is 
included which is called BabitFlags.h. I've gotten also errors with that 
structure. To solve that I've just included directly BabitFlags.h into 
eikdef.h and actually is working.

On conclusion the following is not working ...
eikdef.h  ---includes->ASShdBitFlags.h ---includes->BabitFlags.h

but that is working correctly ...
eikdef.h  ---includes->BabitFlags.h

Best wishes,
Marti


----- Original Message ----- 
From: "Fabian Scheler" <fabian.scheler at gmail.com>
To: "Marti Bayo-alemany" <malemany at nero.com>
Cc: <aspectc-user at aspectc.org>
Sent: Thursday, September 08, 2005 8:41 AM
Subject: Re: [aspectc-user] includes on command line


Hi,

this is not necessarily a bug of ac++. Without checking your problem
any further, have you checked the following things:

- do you have include-files with the same name in different
include-directories - they may shadow each other
- do you have include-files defining the same include-guards

The order of the different -I options have influence which
include-files from which include-path are preferred (as far as I can
figure it out, the last -I option seems to win), so changing the order
of them might explain the behaviour you describe.

Ciao, Fabian

2005/9/7, Marti Bayo-alemany <malemany at nero.com>:
>
> Hi all,
>
> I have realised in Aspect C++ it is not possible to specify a big number 
> of
> include directories.
>
> The following command ...
> ac++  --no_line -p ..\source   -e cpp --skip-bodies-non-prj
> --no_problem_spec_scope --gnu-2.95 -d ..\source-ah -D_DEBUG -D_UNICODE
> -D__SYMBIAN32__ -D__GCC32__ -D__EPOC32__ -D__MARM__ -D__MARM_ARMI__
> -D__DLL__ -
> -I"C:\MySource\MobileNeroDigital\GapiDraw35\include\symbian"
>
> -I"..\include"
> -I"C:\Symbian\7.0s\Series60_v20\Epoc32\include\libc"
> -I"C:\Symbian\7.0s\Series60_v20\Epoc32\include\"
> -I"C:\MySource\MobileNeroDigital\neroplayer\nero_gui\Common"
>
> Doesn't recognize the headers on
>
> -I"C:\MySource\MobileNeroDigital\neroplayer\nero_gui\Common"
>
> However with that command...
>
> ac++  --no_line -p ..\source   -e cpp --skip-bodies-non-prj
> --no_problem_spec_scope --gnu-2.95 -d ..\source-ah -D_DEBUG -D_UNICODE
> -D__SYMBIAN32__ -D__GCC32__ -D__EPOC32__ -D__MARM__ -D__MARM_ARMI__
> -D__DLL__ -
>
> -I"C:\MySource\MobileNeroDigital\neroplayer\nero_gui\Common"
> -I"C:\MySource\MobileNeroDigital\GapiDraw35\include\symbian"
>
> -I"..\include"
> -I"C:\Symbian\7.0s\Series60_v20\Epoc32\include\libc"
> -I"C:\Symbian\7.0s\Series60_v20\Epoc32\include\"
>
> The headers on ...
>
> -I"C:\MySource\MobileNeroDigital\neroplayer\nero_gui\Common"
>
> are found.
>
> any idea ?
> Best wishes,
> Marti
> _______________________________________________
> aspectc-user mailing list
> aspectc-user at aspectc.org
> http://www.aspectc.org/mailman/listinfo/aspectc-user
>
>
>





More information about the aspectc-user mailing list