msvcp90d.dll is missing msvcr90d.dll

人走茶凉 提交于 2019-12-13 06:41:57

问题


I had a DLL project on one machine, and copied it to another with freshly installed VS2008. The project builds, but I cannot debug it. Dependecy Walker shows that my DLL sees msvcr90d.dll, but msvcp90d.dll does not see the same DLL. But if I open msvcp90d.dll in separate window then msvcr90d.dll is visible to msvcp90d.dll. This is obviously some SxS issue, but I don't know how to resolve it. I tried several proposed fixes found googling:

  • disable incremental linking,
  • remove and then include manifest building
  • remove Settings folder from My Documents\Visual Studio 2008

None of them works. The situation is the same in both Debug and Release builds. Help!


回答1:


Have you installed the Service Pack for VS 2008?

Are you sure this is the reason you can't debug? Does your dll use anything in the c++ library (msvcp90d.dll) that is dependent on the C library (msvcr90d.dll)? If nothing is needed, it won't link unneccesary code.

Have you explicitly ignored this library in your linker settings?




回答2:


I copied the latest project to the computer that exibited the problem, and it turns out that there is no issue after all. Dependancy Walker still shows the same yellow icons as before, but the latest project can be debugged just fine. The problem was obviously in my code, possibly function signature mismatch between C# declaration and actual DLL implementation.



来源:https://stackoverflow.com/questions/3400025/msvcp90d-dll-is-missing-msvcr90d-dll

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!