Hi,

To answer your second question:
The locking mechanism used on Windows relied on an API which changed
between versions of MS Visual C++.  Unfortunately, this was not discovered
until after Axis C++ 1.5 was released.

However, we have now fixed this section of code to use an alternate API.
If you wish to use source, you can get this from SVN (see instructions
here: http://ws.apache.org/axis/cpp/developers-guide.html#checkingOut )

Adrian
_______________________________________
Adrian Dick ([EMAIL PROTECTED])
WebSphere MQ and ESB Development
IBM United Kingdom Ltd.
Tel: +44-(0)-1962-819212
Notes: Adrian Dick/UK/[EMAIL PROTECTED]

>
> I am trying to rebuild the axis to get an debuggable version - but
> without luck neither, the error from ant is:
> 4290: C++ exception specification ignored except to indicate a function
> is not __declspec(nothrow)
>        [cc] C:\opt\work\axis-c-src-1-5-win32\src\engine\Axis.cpp(302) :
> error C2440: 'reinterpret_ca
> st' : cannot convert from 'volatile long *' to 'void ** '
>        [cc]         Conversion loses qualifiers
>        [cc] C:\opt\work\axis-c-src-1-5-win32\src\engine\Axis.cpp(302) :
> fatal error C1903: unable to
>  recover from previous error(s); stopping compilation
> where the code is like this:
>
> static volatile long g_uModuleInitializing = 0;
> static void start_initializing()
> {
>     long exchange = 1;
>     long comperand = 0;
>     while (InterlockedCompareExchange(((void **)&g_uModuleInitializing),
> static_cast<void *>(&exchange), static_cast<void *>(&comperand)));
> }
> the line 302 is the last line where calling
> InterlockedCompareExchange(((void **)...
> Any suggestion?
>
> By the way, the same code works ok on linux.
>
> Thanks!
> Tao

Reply via email to