EDN Admin
Well-known member
The linker issues 4 error messages about unresolved symbols unless I put the following workaround in the source code of my MFC + COM DLL. Is there a better way to do it? Or if x64 symbols really lack decoration, is there some reason why VC++ 2005 SP1 didnt generate correct source code automatically?
// DllCanUnloadNow - Allows COM to unload DLL<br/>#ifndef _WIN32_WCE<br/>#if 0 // Microsofts code<br/>#pragma comment(linker, "/EXPORT
llCanUnloadNow=_DllCanUnloadNow@0,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llGetClassObject=_DllGetClassObject@12,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llRegisterServer=_DllRegisterServer@0,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llUnregisterServer=_DllUnregisterServer@0,PRIVATE")<br/>#else // Diamonds workaround 2009.08.28<br/>#ifdef _WIN64<br/>#pragma comment(linker, "/EXPORT
llCanUnloadNow=DllCanUnloadNow,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llGetClassObject=DllGetClassObject,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llRegisterServer=DllRegisterServer,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llUnregisterServer=DllUnregisterServer,PRIVATE")<br/>#else<br/>#pragma comment(linker, "/EXPORT
llCanUnloadNow=_DllCanUnloadNow@0,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llGetClassObject=_DllGetClassObject@12,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llRegisterServer=_DllRegisterServer@0,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llUnregisterServer=_DllUnregisterServer@0,PRIVATE")<br/>#endif<br/>#endif // Diamonds workaround 2009.08.28<br/>#else<br/>#ifdef _X86_<br/>#pragma comment(linker, "/EXPORT
llCanUnloadNow=_DllCanUnloadNow,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llGetClassObject=_DllGetClassObject,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llRegisterServer=_DllRegisterServer,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llUnregisterServer=_DllUnregisterServer,PRIVATE")<br/>#else<br/>#pragma comment(linker, "/EXPORT
llCanUnloadNow,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llGetClassObject,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llRegisterServer,PRIVATE")<br/>#pragma comment(linker, "/EXPORT
llUnregisterServer,PRIVATE")<br/>#endif // _X86_<br/>#endif // !_WIN32_WCE
View the full article
// DllCanUnloadNow - Allows COM to unload DLL<br/>#ifndef _WIN32_WCE<br/>#if 0 // Microsofts code<br/>#pragma comment(linker, "/EXPORT




















View the full article