<!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.2523" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi, all!</FONT></DIV>
<DIV><FONT face=Arial size=2>Just starting a project with aspectc, downloaded
the latest code and tried to compile the examples only to learn that they
miserably failed with cryptic messages:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>E:\<path-to-aspectc>\AspectC++\bin>ac++ -p
..\examples\Action -d ..\examples\Action-out -I..\examples\Action -v9<BR>*
Running ac++ 0.9<BR>* Simple Dependency Check<BR> - new or modified:
../examples/Action/Action.ah<BR>* Handling Translation Unit `main.cc'.<BR>
- Path "../examples/Action/main.cc"<BR> - Inserting namespace AC<BR>
- Parsing ...<BR>c:/program files/microsoft visual studio .net
2003/vc7/include/stdio.h:70: error: invalid declaration near token
`unsigned'<BR>c:/program files/microsoft visual studio .net
2003/vc7/include/stdio.h:286: error: invalid declaration near token
`__cdecl'<BR>c:/program files/microsoft visual studio .net
2003/vc7/include/stdio.h:292: error: invalid declaration near token
`__cdecl'<BR>c:/program files/microsoft visual studio .net
2003/vc7/include/stdio.h:313: error: invalid declaration near token
`,'<BR>c:/program files/microsoft visual studio .net
2003/vc7/include/stdio.h:314: error: invalid declaration near token
`*'<BR>c:/program files/microsoft visual studio .net
2003/vc7/include/stdio.h:318: error: invalid declaration near token
`const'<BR>c:/program files/microsoft visual studio .net
2003/vc7/include/stdio.h:326: error: invalid declaration near token
`*'<BR>c:/program files/microsoft visual studio .net
2003/vc7/include/stdio.h:361: error: invalid declaration near token
`*'<BR>c:/program files/microsoft visual studio .net
2003/vc7/include/stdio.h:366: error: `swprintf' already defined<BR>c:/program
files/microsoft visual studio .net 2003/vc7/include/stdio.h:363: previously
defined here<BR>c:/program files/microsoft visual studio .net
2003/vc7/include/stdio.h:371: error: invalid declaration near token
`*'<BR>c:/program files/microsoft visual studio .net
2003/vc7/include/stdio.h:376: error: `vswprintf' already defined<BR>c:/program
files/microsoft visual studio .net 2003/vc7/include/stdio.h:373: previously
defined here<BR>c:/program files/microsoft visual studio .net
2003/vc7/include/stdio.h:381: error: invalid declaration near token
`const'<BR> -
Aborting<BR>E:\<path-to-aspectc>\AspectC++\bin></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The initial contents of pumavc7.cfg
were:</FONT></DIV>
<DIV><FONT face=Arial size=2>-A machine(i386)<BR>-A plattform(win32)<BR>-D
__cplusplus<BR>-D _WIN32<BR>-D _WCHAR_T_DEFINED<BR>-D _M_IX86<BR>-D
_MSC_VER=1300<BR>-D __STDC__</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Taking a look at the stdio.h:70 reveals the
following (given w/ appropriate context):</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><FONT color=#000000>66:
</FONT>#ifndef <FONT color=#800080>_SIZE_T_DEFINED</FONT></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><FONT color=#000000>67: </FONT>#ifdef
_WIN64</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><FONT color=#000000>68:
</FONT>typedef unsigned __int64
size_t;
</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><FONT color=#000000>69:
</FONT>#ielse</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><FONT
color=#000000><STRONG>70</STRONG>: </FONT>typedef <FONT
color=#800080>_W64</FONT> unsigned int size_t;</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><FONT color=#000000>71:
</FONT>#endif</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><FONT color=#000000>72:
</FONT>#define <FONT color=#800080>_SIZE_T_DEFINED</FONT></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><FONT color=#000000>73:
</FONT>#endif</FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The problem is that _W64 has been previously
defined as:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2>#define <FONT
color=#800080>_W64</FONT><FONT color=#000000> __w64</FONT></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Where __w64 is a Microsoft VC7.1 specific
keyword (consult the msdn for details) that is not understood by the
aspectc++.</FONT></DIV>
<DIV><FONT face=Arial size=2>The solution I found as temporary is to simply
append _W64 as a compilation target which will define size_t as unsigned
__int64.</FONT></DIV>
<DIV><FONT face=Arial size=2>I guess, that's a bug or a feature request to fully
support the VC7.1.</FONT></DIV>
<DIV><FONT face=Arial size=2>Hope that helps if anybody has run into the same
issue.</FONT></DIV>
<DIV><FONT face=Arial size=2>P.S. Modified pumavc7.cfg:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>-I "c:\program files\microsoft visual studio .net
2003\vc7\PlatformSDK\include"<BR>-I "c:\program files\microsoft visual studio
.net 2003\vc7\include"<BR>-A machine(i386)<BR>-A plattform(win32)<BR>-D
__cplusplus<BR>-D _WIN32<BR><STRONG>-D _WIN64</STRONG><BR>-D
_WCHAR_T_DEFINED<BR>-D _M_IX86<BR>-D _MSC_VER=1300<BR>-D
__STDC__<BR></FONT><FONT face=Verdana></FONT></DIV>
<DIV><FONT face=Verdana><FONT face=Arial size=2>Take care,
all</FONT></FONT></DIV>
<DIV><FONT face=Verdana><FONT face=Arial size=2>Dmitri.</FONT></FONT></DIV>
<DIV><FONT face=Verdana> </DIV></FONT></BODY></HTML>