Why visual studio is linking MSVCR90.dll (x86) on 64 Bit platform?
I'm writing a library for 开发者_Go百科MATLAB (mex-file). While developing I used the debug profile in Visual Studio 2008. Everything is fine in debug mode. MATLAB executes my library correctly.
When I switch to relase mode in visual studio, MATLAB is unable to load my library (dll named as .mexw64). Using Dependency Walker I saw that the debug version is linking the MSVCR90D.dll (x64) but the release version is linking the MSVCR90.dll (x86).
Debug Configuration: /MDd Release Configuration: /MD
Any ideas?
Yeah. You did not turn your project to 64 bit in the release configuration.
I had the same problem. Using dependency walker I've found that it wasn't my program, it was Oracle's oraocci11d.dll that was compiled using visual studio 9, so it needed msvcr90d.dll. I just downloaded the library compiled in VS 2010
You may have a manifest file somewhere that is wrongfully specifying the architecture (as x86) of libmsvcrt.
精彩评论