Debug version of LIB/DLL isn't linking with caller

G

Guest

I have a very strange problem trying to link the debug version of my caller
application with one of my DLL's using .NET 2K5. The linker declares the
following error (one of many):

error LNK2001: unresolved external symbol
__imp_?MyExportedObject@@YAXW4MsgCategory@@PB_WK1@Z


When I perform a 'dumpbin' on the debug version of my DLL and its
corresponding LIB file, MyExportedObject has the following export signature
in both dumps:

?MyExportedObject@@YAXW4MsgCategory@@PBGK1@Z


However, the *release* version of my DLL and its LIB file has the following
signature:

?MyExportedObject@@YAXW4MsgCategory@@PB_W@Z

So, I can link the release version of my DLL to both the debug and the
release versions of my caller, but I have no such luck trying to link the
debug version of the DLL. This seems to only be a problem with the .NET 2K5
compiler; I wasn't having this problem with 2K3. It's as if the debug
version isn't using the lib file supplied to it or it's otherwise making a
determination about the symbols that's only compliant with the release
version of the dll. Any thoughts or suggestions would be greatly appreciated.

Thanks,

-Mike
 
G

Guest

The LIB and DLL of the release version had the correct signature:

?MyExportedObject@@YAXW4MsgCategory@@PB_WK1@Z
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top