Hi!
We've been using Boost 1.38.0:
WinXP SP3 on 32-bit box
VisualStudio 2005, MSVC++ 8.0, 32-bit builds.
I've just rebuilt Boost 1.38.0 on another system for 64-bit builds:
Windows Server 2008 Enterprise SP1
VisualStudio 2008, MSVC++ 9.0, 64-bit builds.
Found no visible build errors during the Boost build.
Yet when I build our own code on the 64-bit system, I get these three compile errors deep inside boost::asio code that I have no control over:
>>----------------
error C2664: 'QueueUserAPC' : cannot convert parameter 1 from 'void (__cdecl *)(ULONG)' to 'PAPCFUNC' D:\dev\3rdParty_x64\include\boost\asio\detail\win_thread.hpp 151
>>----------------
error C2664: 'GetQueuedCompletionStatus' : cannot convert parameter 3 from 'DWORD *' to 'PULONG_PTR' D:\dev\3rdParty_x64\include\boost\asio\detail\win_iocp_io_service.hpp 142
>>----------------
error C2664: 'GetQueuedCompletionStatus' : cannot convert parameter 3 from 'DWORD *' to 'PULONG_PTR' D:\dev\3rdParty_x64\include\boost\asio\detail\win_iocp_io_service.hpp 430
>>----------------
The "D:\dev\3rdParty_x64" is where I've installed the includes & libs for Boost and other components.
As you can see, those errors are not in our code; they're deep in the ASIO code itself, and I don't see how we could be causing them. I didn't write our code that uses ASIO, so I don't know anything about what ASIO is trying to do there. :(
Since I couldn't find any other complaints online about this, I'm flailing around for support.
Any pointers would be appreciated.
Pertinent data:
64-bit WindowsServer2008 SP1 on Intel 64-bit box
VisualStudio2008 SP1 (SP2 is still RC, I think, so we can't use it.)
Our projects using "x64" configuration, so uses x64 compiler.
Boost built with x64 compiler via: toolset=msvc-9.0 address-model=64
Thanks!
Mike