stdcxx-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: Problem buiding ICU, Xerces ...
Date Tue, 31 Oct 2006 01:33:00 GMT
Christophe Dupuy wrote:
> Hi all,
> 
> I'm attempting to buid ICU library and Xerces library with stdcxx 4.1.3 on Windows XP
SP2 with VisualStudio 2005.
> I've already generate 15d version successfully.

You mean the library built fine? How about the examples? If you
get those to compile and link it's a setup issue. I.e., you are
probably missing some compiler options when using the library.

> I've defined those preprocessor directives : _RWSTD_USE_CONFIG;_RWSTDDEBUG;RWSHARED,
and I've added those Include folders to the project : include/15d/, include/ansi/, include/

Can you show us the complete compiler command line?

> 
> For the ICU library, I've this compil error : 
> 1>d:\developpement\externals\stdcxx\include\rw\_defs.h(1135) : error C2061: erreur
de syntaxe : identificateur '__rw'

I see this around line 1135:

   1134
   1135  _RWSTD_NAMESPACE (__rw) {
   1136

_RWSTD_NAMESPACE is #defined in the block below:

    585  // for compilers or environments that do not support namespaces
    586  #ifndef _RWSTD_NO_NAMESPACE
    587  #  define _RWSTD_NAMESPACE(name)    namespace name
    588  #  define _USING(name)              using name
    589
    590  #  undef _STD
    591  #  define _STD   std
    592  #  define _RW    __rw
    593
    ...
    601  #endif   // _RWSTD_NO_NAMESPACE

I.e., the code on line 1135 should expand to

    namespace __rw {

I'm not sure why your compiler doesn't like __rw. I wonder if it's
a reserved name in your version. Does this compile (without stdcxx)?

     int main () {
         int __rw = 0;
     }

If it does, what does the preprocessed translation unit (i.e.,
the .cpp file compiled with the -E option) look like around
this line?

> 1>d:\developpement\externals\stdcxx\include\rw\_defs.h(1135) : error C2059: erreur
de syntaxe : ';'
> 1>d:\developpement\externals\stdcxx\include\rw\_defs.h(1135) : error C2449: trouvé
'{' au niveau de la portée du fichier (en-tête de fonction manquant ?)

What does this mean in English?

> 1>d:\developpement\externals\stdcxx\include\rw\_defs.h(1156) : error C2059: erreur
de syntaxe : '}'
> 
> For the Xerces library, I've this one for each include/rw file :
> 2>d:\developpement\externals\stdcxx\include\rw\_ioinsert.h(200) : error C2059: erreur
de syntaxe : 'extern'

This is around line 200:

    198  _RWSTD_INSTANTIATE_FUN_1 (_RWSTD_EXPORT _STD::wostream&
    199                            __rw_insert (_STD::wostream&, const 
char*,
    200                                         _RWSTD_STREAMSIZE, 
_RWSTD_STREAMS
    200  IZE));
    201

We'd need to see the code with the macros expanded to figure out
what's going on. It might be a configuration issue.

Martin

Mime
View raw message