Boost logo

Boost-Build :

Subject: Re: [Boost-build] boost build for Windows Mobile 2005
From: David Deakins (ddeakins_at_[hidden])
Date: 2009-05-22 11:19:14


vassilux wrote:
> but now I get this erreur :
>
> .\boost/regex/config/cwchar.hpp(57) : error C2733: second C linkage of
> overloaded function 'stlp_std::iswalnum' not allowed
> .\boost/regex/config/cwchar.hpp(56) : see declaration of 'stlp_std::iswalnum'

The WinCE headers use #defines for many of these functions in ctype.h
and wctype.h. STLport undef these macros and redefines them as inline
functions for ctype.h, but I don't think it currently does the same for
the wide-char functions in wctype.h. Try substituting the attached
ctype.h and wctype.h files into your stlport folder and see if it helps.

-Dave


/*
 * Copyright (c) 1999
 * Boris Fomitchev
 *
 * This material is provided "as is", with absolutely no warranty expressed
 * or implied. Any use is at your own risk.
 *
 * Permission to use or copy this software for any purpose is hereby granted
 * without fee, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is granted,
 * provided the above notices are retained, and a notice that the code was
 * modified is included with the above copyright notice.
 *
 */

#if !defined (_STLP_OUTERMOST_HEADER_ID)
# define _STLP_OUTERMOST_HEADER_ID 0x279
# include <stl/_cprolog.h>
#elif (_STLP_OUTERMOST_HEADER_ID == 0x279) && !defined (_STLP_DONT_POP_HEADER_ID)
# define _STLP_DONT_POP_HEADER_ID
#endif

/* evc3 doesn't have wctype.h */
#if !defined(_STLP_WCE_EVC3)
# if defined (_STLP_HAS_INCLUDE_NEXT)
# if defined (__hpux)
# include_next <stdarg.h>
# include_next <wchar.h>
# endif
# include_next <wctype.h>
# else
# if defined (__hpux)
# include _STLP_NATIVE_C_HEADER(stdarg.h)
# include _STLP_NATIVE_C_HEADER(wchar.h)
# endif
# include _STLP_NATIVE_C_HEADER(wctype.h)
# endif
#endif

#ifndef _STLP_WCTYPE_H_SEEN
# define _STLP_WCTYPE_H_SEEN

/* Undef convenience interfaces */
# undef iswalpha
# undef iswupper
# undef iswlower
# undef iswdigit
# undef iswxdigit
# undef iswspace
# undef iswpunct
# undef iswalnum
# undef iswprint
# undef iswcntrl
# undef iswgraph
# undef iswascii

# if defined(UNDER_CE)
__inline int (iswalpha)(int c) { return iswctype(c, _ALPHA); }
__inline int (iswupper)(int c) { return iswctype(c, _UPPER); }
__inline int (iswlower)(int c) { return iswctype(c, _LOWER); }
__inline int (iswdigit)(int c) { return iswctype(c, _DIGIT); }
__inline int (iswxdigit)(int c) { return iswctype(c, _HEX); }
__inline int (iswspace)(int c) { return iswctype(c, _SPACE); }
__inline int (iswpunct)(int c) { return iswctype(c, _PUNCT); }
__inline int (iswalnum)(int c) { return iswctype(c, _ALPHA|_DIGIT); }
__inline int (iswprint)(int c) { return iswctype(c, _BLANK|_PUNCT|_ALPHA|_DIGIT); }
__inline int (iswgraph)(int c) { return iswctype(c, _PUNCT|_ALPHA|_DIGIT); }
__inline int (iswcntrl)(int c) { return iswctype(c, _CONTROL); }
__inline int (iswascii)(int c) { return ((unsigned)(c) < 0x80); }
# endif
#endif

#if (_STLP_OUTERMOST_HEADER_ID == 0x279)
# if ! defined (_STLP_DONT_POP_HEADER_ID)
# include <stl/_epilog.h>
# undef _STLP_OUTERMOST_HEADER_ID
# else
# undef _STLP_DONT_POP_HEADER_ID
# endif
#endif


/*
 * Copyright (c) 1999
 * Boris Fomitchev
 *
 * This material is provided "as is", with absolutely no warranty expressed
 * or implied. Any use is at your own risk.
 *
 * Permission to use or copy this software for any purpose is hereby granted
 * without fee, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is granted,
 * provided the above notices are retained, and a notice that the code was
 * modified is included with the above copyright notice.
 *
 */

#ifndef _STLP_CTYPE_H

/* Workaround for a "misbehaviour" when compiling resource scripts using
 * eMbedded Visual C++. The standard .rc file includes windows header files,
 * which in turn include ctype.h, which results in warnings and errors
 */
#if !defined(RC_INVOKED)

# if !defined (_STLP_OUTERMOST_HEADER_ID)
# define _STLP_OUTERMOST_HEADER_ID 0x219
# include <stl/_prolog.h>
# elif (_STLP_OUTERMOST_HEADER_ID == 0x219)
# define _STLP_DONT_POP_HEADER_ID
# define _STLP_CTYPE_H
# endif

# if defined(_STLP_WCE_EVC3)
struct _exception;
# endif

# if defined (_STLP_HAS_INCLUDE_NEXT)
# include_next <ctype.h>
# else
# include _STLP_NATIVE_C_HEADER(ctype.h)
# endif

/* on evc4 including ctype.h also defines setjmp macro */
# if defined (_STLP_WCE)
# define _STLP_NATIVE_SETJMP_H_INCLUDED
# endif

# ifndef _STLP_CTYPE_H_SEEN
# define _STLP_CTYPE_H_SEEN

/* Undef convenience interfaces */
# undef isspace
# undef isprint
# undef iscntrl
# undef isupper
# undef islower
# undef isalpha
# undef isdigit
# undef ispunct
# undef isxdigit
# undef isalnum
# undef isgraph
# undef toupper
# undef tolower

# if defined (UNDER_CE)

# if (_WIN32_WCE < 300) /* Only wide chars for older versions */
# define _isctype iswctype
# endif

__inline int (isalpha)(int c) { return _isctype(c, _ALPHA); }
__inline int (isupper)(int c) { return _isctype(c, _UPPER); }
__inline int (islower)(int c) { return _isctype(c, _LOWER); }
__inline int (isdigit)(int c) { return _isctype(c, _DIGIT); }
__inline int (isxdigit)(int c) { return _isctype(c, _HEX); }
__inline int (isspace)(int c) { return _isctype(c, _SPACE); }
__inline int (ispunct)(int c) { return _isctype(c, _PUNCT); }
__inline int (isalnum)(int c) { return _isctype(c, _ALPHA|_DIGIT); }
__inline int (isprint)(int c) { return _isctype(c, _BLANK|_PUNCT|_ALPHA|_DIGIT); }
__inline int (isgraph)(int c) { return _isctype(c, _PUNCT|_ALPHA|_DIGIT); }
__inline int (iscntrl)(int c) { return _isctype(c, _CONTROL); }
__inline int (isascii)(int c) { return ((unsigned)(c) < 0x80); }

# undef _isctype

# endif /* UNDER_CE */

# endif /* _STLP_CTYPE_H_SEEN */

# if (_STLP_OUTERMOST_HEADER_ID == 0x219)
# if ! defined (_STLP_DONT_POP_HEADER_ID)
# include <stl/_epilog.h>
# undef _STLP_OUTERMOST_HEADER_ID
# else
# undef _STLP_DONT_POP_HEADER_ID
# endif
# endif

#endif /* RC_INVOKED */

#endif /* _STLP_CTYPE_H */


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk