Uneclared identifier SO_EXCLUSIVEADDRUSE when creating Apache Axis2 / C

I am trying to build Apache Axis2 / C (actually I am making a WSO2 WSF / C ++ wrapper for it) and it keeps giving me an error when it encounters a symbol SO_EXCLUSIVEADDRUSE

. This is a socket option and MSDN says it should be available. I am using MSVC ++ 6.0 on Win Server 2k3. I have no choice about compiler or OS ... if I was on linux I would already do: P

I looked at the VS2005 installation and found that it contains #define

for this constant in winsock2.h. It's not there in winsock2.h that I have for MSVC6. Also, in VS2005, it is located in the PlatformSDK folder inside the VS2005 directory, while there is no such directory for MSVC6. Why is this symbol missing? How can I get it? I'm tempted to just copy it, but who knows what else I might miss in the future ... Any ideas?

0


source to share


1 answer


Since Visual Studio.Net 2003, Microsoft is changing the way PlatformSDK is delivered. This allows the C / C ++ compiler to use the PlatformSDK apart from the bundled version with the VC package.

You can install PlatformSDK for Windows Server 2k3, but the last SDK to work with VC 6.0 is the February 2003 release, which is not available on the Microsoft website.



So, you can just copy #define

to your code before using SO_EXCLUSIVEADDRUSE

. It should work and be supported by Win2k3.

+1


source







All Articles