AFXEXT linking problems
Matthias Bohlen -- MATTES@logotec.com
Monday, April 15, 1996
Hello,
I write an MFC extension DLL in Visual C++ 4.0 on an Intel PC.
When I link it, I get the following error messages:
mfcs40d.lib(dllmodul.obj) : error LNK2005: __pRawDllMain already
defined in DLLINIT.OBJ mfcs40d.lib(dllmodul.obj) : error LNK2005:
_DllMain@12 already defined in DLLINIT.OBJ
mfcs40d.lib(dllmodul.obj) :
warning LNK4006: __pRawDllMain already defined in DLLINIT.OBJ; second
definition ignored
mfcs40d.lib(dllmodul.obj) : warning LNK4006:
_DllMain@12 already defined in DLLINIT.OBJ; second definition ignored
(note: DLLINIT.OBJ is one of my own files with DllMain() in it,
including AFXDLLX.H, AfxInitExtensionModule(),
AfxTerminateExtensionModule() and the like, bells and whistles
like in the DLLHUSK sample project!)
What am I doing wrong?
TIA for responses...
Matthias
-------------------------------------------------------
Matthias Bohlen Logotec Software GmbH
Phone: +49 228 64 80 520 Chateauneufstr. 10
FAX: +49 228 64 80 525 D-53347 Alfter, Germany
E-mail: mattes@logotec.com
-------------------------------------------------------
Dan McNerthney -- mcnerthney@nowmail.nowsoft.com
Thursday, April 18, 1996
I have experenced the same linking problem and traced it
down to the use of the use of
AFX_MANAGE_STATE(AfxGetStaticModuleState( )
in my exported function.
By replacing AFX_MANAGE_STATE with calls to AfxSetResourceHandle
the link error was resolved and the DLL still loaded it's own resources.
It replace AFX_MANAGE_STATE do something like this:
at the begining of the function:
// Set default resource to this dll
HINSTANCE hOldInst = AfxGetResourceHandle();
AfxSetResourceHandle(DayviewDLL.hResource);
// do the function stuff...
before returning:
// Set default resources to the orginal instance
AfxSetResourceHandle(hOldInst);
| Вернуться в корень Архива
|