'ATL::CComObject': cannot instantiate abstract class in atlcom.h, line 2000
I was very confused, since that error wasn't even in my code.
It turns out that the declaration of GetCommandString (one of the context menu handler functions) changed in the move from 32- to 64-bit. Its first parameter becomes a UINT_PTR instead of just a UINT. Somehow, that discrepancy confused ATL.
If, for some reason, you want to be able to easily compile for both 32- and 64-bit platforms, you'll need to use some #ifdef preprocessor statements to adjust the signature appropriately.
No comments:
Post a Comment