[Ace-users] C2733 error when using ACE-5.5.8 + TProactor to build realse version app, but 5.5.7 is OK. Maybe a bug

hongxing777 at gmail.com hongxing777 at gmail.com
Thu Jun 21 06:15:16 CDT 2007


Version: 5.5.8
host: windows xp sp2, suse linux enterprise server 9 sp2
compiler: vs.net 2003, gcc 3.3.3

I integrated TProactor into ACE-5.5.8 and build my app based on it. My
app runs stable in debug version. But when I switched to release
version, the compiler reports the following error:
D:\hongxing\component\ACE_wrappers\ace\os_include\os_intrin.h(48) :
error C2733: second C linkage of overloaded function
"_InterlockedExchange" D:\hongxing\component\ACE_wrappers\ace
\os_include\os_intrin.h(49) : error C2733: second C linkage of
overloaded function "_InterlockedExchangeAdd"

when I switched back to ACE-5.5.7, everything is ok.
I found in the ACE-5.5.8 $ACE_ROOT\ace\os_include dir, there are two
additional files os_byteswap.h and os_intrin.h (compared to
ACE-5.5.7). And there is a additional option
ACE_HAS_INTRINSIC_INTERLOCKED. I guess it causes the C2733 compile
error since there are no such files in 5.5.7.

note:
    when I compile ACE-5.5.8, I didn't define
ACE_HAS_INTRINSIC_INTERLOCKED in the config.h file.
    I use Windows XP + Visual Studio 2003

anybody can help ? thanks!



More information about the Ace-users mailing list