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@ScreenCo ntext@@SGPAV1@P AUHWND__@@@Z
But the name of the symbol the linker looks for when
it tries to build the DLL depending on it is
?Apply@ScreenCo ntext@@$$FSGPAV 1@PAUHWND__@@@Z
Strangely enough, the two symbol have exactly the same
undecorated name
- The second error is the following
mfcs80ud.lib(dl lmodul.obj) : error LNK2005: _DllMain@12 already defined
in msvcrtd.lib(dll main.obj)
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@ScreenCo ntext@@SGPAV1@P AUHWND__@@@Z
But the name of the symbol the linker looks for when
it tries to build the DLL depending on it is
?Apply@ScreenCo ntext@@$$FSGPAV 1@PAUHWND__@@@Z
Strangely enough, the two symbol have exactly the same
undecorated name
- The second error is the following
mfcs80ud.lib(dl lmodul.obj) : error LNK2005: _DllMain@12 already defined
in msvcrtd.lib(dll main.obj)
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
Comment