[prev in list] [next in list] [prev in thread] [next in thread] 

List:       boost-users
Subject:    Re: [Boost-users] Boost::wave, sample driver and how to use it
From:       "Hartmut Kaiser" <hartmut.kaiser () gmail ! com>
Date:       2006-12-02 0:49:54
Message-ID: 001001c715ab$c9412870$0a00a8c0 () slartibartfast
[Download RAW message or body]

mosfet wrote: 

> My wave version : 1.2.1.1813 (20050312)
> My command line :
> 
> Wave.exe -D_M_IX86 -D_WIN32 -D_DEBUG -D_WINDOWS -D_MBCS 
> -S"D:\Logiciels\Microsoft Platform SDK\Include"
> -S"D:\Logiciels\Microsoft Visual Studio\VC98\INCLUDE"
> -S"D:\Logiciels\Microsoft Visual Studio\VC98\MFC\INCLUDE"
> -S"D:\Logiciels\Microsoft Visual Studio\VC98\ATL\INCLUDE"
> --c99 -o foo_pre.h foo.h
> 
> and I get the following :
> 
> #line 47 "D:\\Logiciels\\Microsoft Platform SDK\\Include\\windef.h"
> typedef unsigned long ULONG;
> typedef ULONG *PULONG;
> typedef unsigned short USHORT;
> typedef USHORT *PUSHORT;
> typedef unsigned char UCHAR;
> typedef UCHAR *PUCHAR;
> typedef char *PSZ;
> #line 151 "D:\\Logiciels\\Microsoft Platform SDK\\Include\\windef.h"
> typedef unsigned long DWORD;
> typedef int BOOL;
> ...
> 
> I don't care about windef.h, I am only intereted in replacing 
> my values by these definitions.

The problem is, that a preprocessor does not replace typedef's, but only
macro definitions. So Wave is simply the wrong tool for the task.
[snip]

> #
> # add system include search paths
> #
> #-S"D:\Logiciels\Microsoft Platform SDK\Include"
> #-S"D:\Logiciels\Microsoft Visual Studio\VC98\INCLUDE"
> #-S"D:\Logiciels\Microsoft Visual Studio\VC98\MFC\INCLUDE"
> #-S"D:\Logiciels\Microsoft Visual Studio\VC98\ATL\INCLUDE"

You need to specify the paths without the quotes, otherwise Wave doesn't
recognize these. That's a known issue, which will be fixed in the upcoming
Boost release.

Regards Hartmut



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic