I'm building a dll statically linked开发者_如何学C against the c runtime libraries. Why then does it require MSVCR71.dll at runtime?
msvcr71.dll
is Visual C++ 2003's C runtime. If you're building with 2008, there's no reason there should be a reference to this DLL. My guess is that you depend on another DLL which was built with 2003, and which uses the dynamically linked runtime.
You may be linking against the LIB import library for the DLL - check you are using linker option /MT
and not /MD
http://msdn.microsoft.com/en-us/library/abx4dbyh(v=VS.90).aspx
MSVCR71.dll doesn't look like the correct version of the runtime for VS2008. Are you linking against any other third party libraries that require the older runtime?
精彩评论