I am upgrading a huge solution (25 projects, 250klines) from VS2005 to VS2010. I am working on a W7-64 machine but want to build a 32 bits app.
4 projects build DLL. I think (hope) that all projects are build in DEBUG mode.
During app initialization, I load a DLL with loadlibrary() but it crashes. In fact I have an ASSERT alert just before crashing but I can't understand what it means. I tried to use AfxLoadLibrary() but same crash.
First question : how can I be sure that the DLL is built in DEBUG mode (I tried all options of DUMPBIN in vain).
Second question : Is there a known issue with this function on a 64 bits machine ?
Note : when I launch the 'old' app (the one built with VS2005) using the same DLL, it works fine.
Can you post the code before the call to loadlibrary - maybe the whole function?
Since you said that an ASSERT failed, it seems the problem is before the loadlibrary or AfxLoadLibrary()
I can assure you that LoadLibrary() works fine both in 32 bit and 64 bit builds of any Microsoft C/C++ compiler I have. So your issue indeed must be elsewhere.
I apologize I am off the office for a week and I haven't the code at home so I can't give you the piece of code. ASSERT is thrown in a MFC function.
The first thing I think about is : in the app (VS2005) doc, it is said that the app crashes if the app is compiled in DEBUG and DLL in RELEASE mode (or vs). The 'new' app (VS2010)is built in DEBUG mode. But how can I be sure that the DLL is ? I mean, VS2010 parameters for the DLL project is 'DEBUG' but is there a difference with VS2005 ?