简体   繁体   中英

Why does linking against static runtime libraries in Visual C++ 2008 still requires MSVCR71.dll at runtime?

I'm building a dll statically linked 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?

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM