<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2722" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=Arial size=2>Hi Olaf,</FONT></DIV>
<DIV><FONT face=Arial size=2>Thanks for the help and sorry all Aspect
user for instensively SPAMING the aspectC mailing list ;-)</FONT></DIV>
<DIV><FONT face=Arial size=2>After adding the -p option on the command
line.</FONT></DIV>
<DIV><FONT face=Arial size=2>The command line looks like the
following...</FONT></DIV>
<DIV>
<P><FONT face=Arial size=2>ac++ --no_line --skip-bodies-non-prj
--no_problem_spec_scope --gnu-2.95 -D_DEBUG -D_UNICODE -D__SYMBIAN32__
-D__GCC32__ -D__EPOC32__ -D__MARM__ -D__MARM_ARMI__ -D__DLL__ -e cpp -c
src-ah-in\NPlatformGUI_Symbian.cpp -o src-ah-out\NPlatformGUI_Symbian.cpp -p
..\..\..\SDK -p "..\Include" -p "..\..\..\nero_gui\GuiFileService" -p
"..\..\Common" -p "..\..\Common\VideoOutputter" -p "..\..\FrameContatcher" -p
"..\..\FrameContatcher\Util" -p "..\..\..\..\NeroHAL\include" -p
"..\..\..\..\NeroHAL\include\inline" -p "..\..\..\..\GapiDraw35\include\Symbian"
-p "..\..\..\..\GapiDraw35\include\Symbian" -p "..\..\..\core" -p
"..\..\..\component_manager" -p "..\..\..\..\PerformanceLibs\helpers\armcpuid"
-p "..\..\..\..\PerformanceLibs\ipp_wmmx"
-p"..\..\..\..\PerformanceLibs\ipp_wmmx" -p"..\..\..\..\DecoderLibs\dm4v" -a
aspects\aspect.ah -I\"C:\Symbian\7.0s\Series60_v20\Epoc32\include-aspects\"
-I\"C:\Symbian\7.0s\Series60_v20\Epoc32\include-aspects\libc\" -I"..\Include"
-I"..\..\..\nero_gui\GuiFileService" -I"..\..\Common"
-I"..\..\Common\VideoOutputter" -I"..\..\..\SDK" -I"..\..\FrameContatcher"
-I"..\..\FrameContatcher\Util" -I"..\..\..\..\NeroHAL\include"
-I"..\..\..\..\NeroHAL\include\inline"
-I"..\..\..\..\GapiDraw35\include\Symbian" -I"..\..\..\core"
-I"..\..\..\component_manager" -I"..\..\..\..\PerformanceLibs\helpers\armcpuid"
-I"..\..\..\..\PerformanceLibs\ipp_wmmx" -I"..\..\..\..\DecoderLibs\dm4v"
-I"..\..\..\..\..\..\Symbian\7.0s\Series60_v20\Epoc32\include\mda\common\"
-I"\epoc32\include" -I"\epoc32\include\libc" -p
"..\..\..\..\NeroHAL\src\symbian"</FONT></P>
<P><FONT face=Arial size=2></FONT><FONT face=Arial size=2>I get now some errors
like internal file is included by external file. <BR>For example that file
...<BR>NeroHAL\src\symbian\os_threads_symbian.h ( called by ac++ as
external)<BR>...includes the file ...<BR></FONT><FONT face=Arial
size=2>NeroHAL\include\os_mutex (called by ac++ as internal)</FONT></P>
<P><FONT face=Arial size=2>Following there is the errors which I
get...</FONT></P>
<P><FONT face=Arial size=2>Symbian\7.0s\Series60_v20\Epoc32\include\mda\common\"
-I"\epoc32\include"
-I"\epoc32\include\libc"<BR>../../Common/../../SDK/../../NeroHAL/include/../src/symbian/os_mini_symbian.h:14:
error: internal file
'../../Common/../../SDK/../../NeroHAL/include/..<BR>/src/symbian/../../include/inline/emu_int64.h'
is included by external
'../../Common/../../SDK/../../NeroHAL/include/../src/symbian/os_mini_symbian.h'<BR>../../Common/../../SDK/../../NeroHAL/include/../src/symbian/os_types_symbian.h:39:
error: internal file
'../../Common/../../SDK/../../NeroHAL/include/.<BR>./src/symbian/../../include/inline/emu_int64.h'
is included by external
'../../Common/../../SDK/../../NeroHAL/include/../src/symbian/os_types_symbian.h<BR>'<BR>../../Common/../../SDK/../../NeroHAL/include/../src/symbian/os_threads_symbian.h:5:
error: internal file '../../../../NeroHAL/include/os_mutex.h' is in<BR>cluded by
external
'../../Common/../../SDK/../../NeroHAL/include/../src/symbian/os_threads_symbian.h'<BR>../../Common/../../SDK/../../NeroHAL/include/../src/symbian/os_files_symbian.h:4:
error: internal file
'../../Common/../../SDK/../../NeroHAL/include/st<BR>dhelpers.h' is included by
external
'../../Common/../../SDK/../../NeroHAL/include/../src/symbian/os_files_symbian.h'</FONT></P></DIV>
<DIV><FONT face=Arial size=2>It seems it is complicated to set up aspect C++ for
my concrete project. </FONT></DIV>
<DIV><FONT face=Arial size=2>I would keep on with another solution using a perl
script with some regular expresions. That should be enough to make a
progress debugging.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>best wishes,</FONT></DIV>
<DIV><FONT face=Arial size=2>Marti</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>----- Original Message ----- </FONT>
<DIV><FONT face=Arial size=2>From: "Olaf Spinczyk" <</FONT><A
href="mailto:Olaf.Spinczyk@informatik.uni-erlangen.de"><FONT face=Arial
size=2>Olaf.Spinczyk@informatik.uni-erlangen.de</FONT></A><FONT face=Arial
size=2>></FONT></DIV>
<DIV><FONT face=Arial size=2>To: "Marti Bayo-alemany" <</FONT><A
href="mailto:malemany@nero.com"><FONT face=Arial
size=2>malemany@nero.com</FONT></A><FONT face=Arial size=2>></FONT></DIV>
<DIV><FONT face=Arial size=2>Cc: <</FONT><A
href="mailto:fabian.scheler@gmail.com"><FONT face=Arial
size=2>fabian.scheler@gmail.com</FONT></A><FONT face=Arial size=2>>;
<</FONT><A href="mailto:aspectc-user@aspectc.org"><FONT face=Arial
size=2>aspectc-user@aspectc.org</FONT></A><FONT face=Arial
size=2>></FONT></DIV>
<DIV><FONT face=Arial size=2>Sent: Thursday, September 15, 2005 11:40
AM</FONT></DIV>
<DIV><FONT face=Arial size=2>Subject: Re: [aspectc-user] Re: Symbian meet Aspect
C++</FONT></DIV></DIV>
<DIV><FONT face=Arial><BR><FONT size=2></FONT></FONT></DIV><FONT face=Arial
size=2>> Hi Marti,<BR>> <BR>> from looking at your STU command line, I
conclude that my assumptions <BR>> was right: the problem is the -p
option.<BR>> <BR>> ac++ has the notion of a *project* and it distinguishes
between files <BR>> that belong to the project, which is currently being
transformed, and <BR>> file that do not. Only files of the project are
manipulated!<BR>> <BR>> The directories, which contain files that belong
to the project, are <BR>> described with the -p option on the ac++ command
line. If your source <BR>> code is distributed over multiple directory trees,
you can provide *more <BR>> than one* -p option.<BR>> <BR>> Note that
-I options only tell the parser where it can find include <BR>> files. This
is completely independent of the -p options.<BR>> <BR>> In the WPT mode,
which you prefer, you have to specify a destination <BR>> directory with the
-d option for each project directory, i.e. -p <in> -d <BR>> <out>
have to be used as pairs.<BR>> <BR>> For example, if src-ah-in and
"..\..\..\nero_gui\GuiFileService" belong <BR>> to your project, which means
"should be transformed", you would have to <BR>> specify -p src-ah-in -d
src-ah-out -p "..\..\..\nero_gui\GuiFileService" <BR>> -d
"..\..\..\nero_gui\GuiFileService-out".<BR>> <BR>> To summarize:<BR>>
<BR>> First find out, which files belong to your project and which do not.
<BR>> Then use appropriate -p options with corresponding -d options on the
WPT <BR>> command line. When you compile the generated code, make sure that
the <BR>> compiler sees the transformed header files instead of the original
<BR>> header files.<BR>> <BR>> This should solve your problems.<BR>>
<BR>> Olaf<BR>> <BR>> <BR>> Marti Bayo-alemany wrote:<BR>>> Hi
Olaf and Fabian,<BR>>> <BR>>> I am feeling a little bit guilty for
the record ,-)<BR>>> <BR>>> That is my line ...<BR>>>
<BR>>> STU<BR>>> ac++ --no_line --skip-bodies-non-prj
--no_problem_spec_scope --gnu-2.95 <BR>>> -D_DEBUG -D_UNICODE
-D__SYMBIAN32__ -D__GCC32__ -D__EPOC32__ -D__MARM__ <BR>>> -D__MARM_ARMI__
-D__DLL__ -e cpp -c src-ah-in\NPlatformGUI_Symbian.cpp <BR>>> -o
src-ah-out\NPlatformGUI_Symbian.cpp -p . -a aspects\aspect.ah
<BR>>> -I\"C:\Symbian\7.0s\Series60_v20\Epoc32\include-aspects\"
<BR>>> -I\"C:\Symbian\7.0s\Series60_v20\Epoc32\include-aspects\libc\"
<BR>>> -I"..\Include" -I"..\..\..\nero_gui\GuiFileService"
-I"..\..\Common" <BR>>> -I"..\..\Common\VideoOutputter" -I"..\..\..\SDK"
<BR>>> -I"..\..\FrameContatcher" -I"..\..\FrameContatcher\Util"
<BR>>> -I"..\..\..\..\NeroHAL\include"
-I"..\..\..\..\NeroHAL\include\inline" <BR>>>
-I"..\..\..\..\GapiDraw35\include\Symbian" -I"..\..\..\core" <BR>>>
-I"..\..\..\component_manager" <BR>>>
-I"..\..\..\..\PerformanceLibs\helpers\armcpuid" <BR>>>
-I"..\..\..\..\PerformanceLibs\ipp_wmmx" <BR>>>
-I"..\..\..\..\DecoderLibs\dm4v" <BR>>>
-I"..\..\..\..\..\..\Symbian\7.0s\Series60_v20\Epoc32\include\mda\common\"
<BR>>> -I"\epoc32\include" -I"\epoc32\include\libc"<BR>>>
<BR>>> I don't know how I should to change it in order to make it
work.<BR>>> The cpp files are in only one directory. The headers are
splitted into a <BR>>> lot of different directories.<BR>>>
<BR>>> Best wishes<BR>>> Marti<BR>>> <BR>>> <BR>>>
----- Original Message ----- From: "Olaf Spinczyk" <BR>>> <</FONT><A
href="mailto:Olaf.Spinczyk@informatik.uni-erlangen.de"><FONT face=Arial
size=2>Olaf.Spinczyk@informatik.uni-erlangen.de</FONT></A><FONT face=Arial
size=2>><BR>>> To: <</FONT><A
href="mailto:fabian.scheler@gmail.com"><FONT face=Arial
size=2>fabian.scheler@gmail.com</FONT></A><FONT face=Arial
size=2>><BR>>> Cc: "Marti Bayo-alemany" <</FONT><A
href="mailto:malemany@nero.com"><FONT face=Arial
size=2>malemany@nero.com</FONT></A><FONT face=Arial size=2>>; <</FONT><A
href="mailto:aspectc-user@aspectc.org"><FONT face=Arial
size=2>aspectc-user@aspectc.org</FONT></A><FONT face=Arial
size=2>><BR>>> Sent: Thursday, September 15, 2005 9:25 AM<BR>>>
Subject: Re: [aspectc-user] Re: Symbian meet Aspect C++<BR>>> <BR>>>
<BR>>>> Hi,<BR>>>><BR>>>> we just established a new
record of postings per month ;-).<BR>>>><BR>>>> Marti, you
don't need the -i option. This is only needed by people who <BR>>>> use
the STU mode to produce a library. In this special case, the <BR>>>>
*.cc/cpp files are compiled with -c. The weaver expands the header
<BR>>>> files that belong to the project (-p option(s)) automatically
in the <BR>>>> generated *.cc/cpp files. Therefore, for the translation
of the <BR>>>> library itself nothing else is needed. However, users
who want to link <BR>>>> their applications with the library need
transformed header files. In <BR>>>> order to provide these header
files, the library developer has to use <BR>>>> the -i option, which
transforms the header files of the project all at <BR>>>>
once.<BR>>>><BR>>>> The bug, which you have described, is
strange, because the generation <BR>>>> of the declaration of the
exec_old_... function is a quite fundamental <BR>>>> transformation,
which definitely works.<BR>>>><BR>>>> I guess that your header
files are located in a different directory <BR>>>> than the *.cpp files
and that you didn't use a -p <src> -d <dest> pair <BR>>>>
for the header file directory. Therefore, ac++ doesn't *know* that
<BR>>>> these files belong to your project and doesn't transform
them.<BR>>>><BR>>>> How does your directory structure (and
your command line) look like?<BR>>>><BR>>>>
-Olaf<BR>>>><BR>>>><BR>>>> Fabian Scheler
wrote:<BR>>>>> Hi Marti,<BR>>>>><BR>>>>>>
However what does it means other_stuff_you_need ?<BR>>>>>> -i
<other_stuff_you_need><BR>>>>>> Do you have to define all
your include files behind the -i ?<BR>>>>><BR>>>>> no,
<other_stuff_you_need> has nothing to do with the option
'-i',<BR>>>>> <other_stuff_you_need> are just other options
you may need for some<BR>>>>> reason. I expressed this a bit
awkwardly.<BR>>>>><BR>>>>>> I am just wondering about
that not because I need to do library. The <BR>>>>>>
main<BR>>>>>> reason is the error I am having
...<BR>>>>>><BR>>>>>>
../SRC-AH-OUT/Guihelperclasses.cpp:1248: no `void<BR>>>>>>
NConfigDataGUI::__exec_old_SetEqualizerPresetSelection(long unsigned
<BR>>>>>> int)'<BR>>>>>> member
function declared in class
`NConfigDataGUI'<BR>>>>>><BR>>>>>> It makes sense
because the following method is not defined ...<BR>>>>>>
__exec_old_SetEqualizerPresetSelection<BR>>>>><BR>>>>>
hm, this is strange. Normally ac++ expands all headers in the
woven<BR>>>>> source file, so also the header where class
`NConfigDataGUI' is<BR>>>>> defined should be expanded inside
Guihelperclasses.cpp, and there a<BR>>>>> proper declaration of
__exec_old_SetEqualizerPresetSelection should be<BR>>>>> woven into
the class definition. By the way, you are complaining about<BR>>>>>
a missing declaration, not a missing definition, do you? In
your<BR>>>>> preceeding postings you also posted a
definition:<BR>>>>><BR>>>>> inline void
<BR>>>>>
NConfigDataGUI::__exec_old_SetEqualizerPresetSelection(unsigned<BR>>>>>
long int value){<BR>>>>> m_iEqualizerPresetSelection =
value;<BR>>>>> }<BR>>>>> I can only think of two
possibilities:<BR>>>>><BR>>>>> 1. The header containing
the definition of class `NConfigDataGUI' is<BR>>>>> somehow not
included into the file Guihelperclasses.cpp, but then ac++<BR>>>>>
should complain about that. This would be a bug within the parser
of<BR>>>>> ac++, that seems pretty improbable to
me.<BR>>>>> 2. A bug in the code generation, what in this case seems
also quite<BR>>>>> improbable to
me.<BR>>>>><BR>>>>> I must be missing something ... are
there any typedefs or macros that<BR>>>>> somehow affect this
class?<BR>>>>><BR>>>>> Maybe Olaf knows
more???<BR>>>>><BR>>>>> Ciao,
Fabian<BR>>>>><BR>>>>>
_______________________________________________<BR>>>>> aspectc-user
mailing list<BR>>>>> </FONT><A
href="mailto:aspectc-user@aspectc.org"><FONT face=Arial
size=2>aspectc-user@aspectc.org</FONT></A><BR><FONT face=Arial
size=2>>>>> </FONT><A
href="http://www.aspectc.org/mailman/listinfo/aspectc-user"><FONT face=Arial
size=2>http://www.aspectc.org/mailman/listinfo/aspectc-user</FONT></A><BR><FONT
face=Arial size=2>>>><BR>>>><BR>>>><BR>>>
<BR>> <BR>> <BR>></FONT></BODY></HTML>