R
ralphsieminsky
A project compiles fine under VS 2005 RC without the /clr
option. However, when /clr is turned on several errors appear:
- A symbol exported from a DLL is not found by another
DLL referencing it.
The name of the symbol present in the DLL, as shown by
depends.exe is ?Apply@ScreenContext@@SGPAV1@PAUHWND__@@@Z
But the name of the symbol the linker looks for when
it tries to build the DLL depending on it is
?Apply@ScreenContext@@$$FSGPAV1@PAUHWND__@@@Z
Strangely enough, the two symbol have exactly the same
undecorated name
- The second error is the following
mfcs80ud.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined
in msvcrtd.lib(dllmain.obj)
http://support.microsoft.com/default.aspx?scid=kb;en-us;q148652
seems to talk about it, but there is no way I could get
to make its workarounds solve the problem (the instructions don't apply
to VS2005). But why would it manifest itself only in /clr mode ?
Any clue is much appreciated !
Cheers,
Ralph
option. However, when /clr is turned on several errors appear:
- A symbol exported from a DLL is not found by another
DLL referencing it.
The name of the symbol present in the DLL, as shown by
depends.exe is ?Apply@ScreenContext@@SGPAV1@PAUHWND__@@@Z
But the name of the symbol the linker looks for when
it tries to build the DLL depending on it is
?Apply@ScreenContext@@$$FSGPAV1@PAUHWND__@@@Z
Strangely enough, the two symbol have exactly the same
undecorated name
- The second error is the following
mfcs80ud.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined
in msvcrtd.lib(dllmain.obj)
http://support.microsoft.com/default.aspx?scid=kb;en-us;q148652
seems to talk about it, but there is no way I could get
to make its workarounds solve the problem (the instructions don't apply
to VS2005). But why would it manifest itself only in /clr mode ?
Any clue is much appreciated !
Cheers,
Ralph