I think it is an accepted practice to qualify all COM functions with __stdcall explicitly, rather than to change the default calling convention globally for the project. Can explicit __stdcall be an acceptable solution for you?

Regards,
Gevorg


From: "cdongieux.ext@orange-ftgroup.com" <cdongieux.ext@orange-ftgroup.com>
To: boost-users@lists.boost.org
Sent: Friday, December 5, 2008 2:17:45 PM
Subject: [Boost-users] Boost + __stdcall calling convention

Boost + __stdcall calling convention

Hello,

I am currently programming a dll in COM format with Visual Studio 2005. For it to be in COM format, the calling convention has to be __stdcall.

In my project, I need somme Boost code, just to get my life easier :)

My problem is that the compiler complains in linking process : I have unresolved Boost symbols whereas I included the good .lib.

I tried many workarounds, and I saw that when I change the calling convention to __cdecl, the project compiles fine. Unfortunatly I can't register the DLL with regsvr32 since the format is not correct.

Is it possible to use Boost libraries with the __stdcall convention ?
Do you have an idea/solution ?

Thanks in advance.