开发者

How to solve this MS runtime DLLs loader runtime error (R6034)

开发者 https://www.devze.com 2022-12-21 06:49 出处:网络
Here is my situation: I have a C project linking with many libraries (I haven\'t written this application), and it is shipped also with MSVCR71.dll and MSVCP71.dll. Even without those DLLs, the progr

Here is my situation:

I have a C project linking with many libraries (I haven't written this application), and it is shipped also with MSVCR71.dll and MSVCP71.dll. Even without those DLLs, the program has run fine on my system, which has MS VS2005 installed (indeed uses MSVCR80.dll and MSVCP80.dll).

I've linked this application with other libraries, compiled on my system. Now, after having linked with those libraries, the application don't start because it cannot load MSVCR80.dll and MSVCP80.dll... very strange, I say.

Loader presents to me the error R6034, which should be solved building applications using the manifest file.

What's wrong with this application?


Co开发者_如何转开发nfirm that the problem was introduced by the libraries introduced. May I compile those libraries without manifest or statically?

Still curious why application without linking new libraries don't find MS runtime DLLs...


MSVCP71.dll is a dll used by Visual Studio 2002. MSVCR80.dll is for Visual Studio 2005. So, when you recompiled this app with VS2005 you got new dll dependencies. You cannot solve it with manifests - you should recompile it in Visual Studio 2002 or just put these new dll's into the same folder where you app is located.

Edited: And yes, you can just link your application with static CRT libraries to avoid external dependencies on these dll's. But it may be not possible if one of dll's or libraries that you link with uses dynamic CRT - you should recompile them also with static CRT then.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号