我有一个超过五十个依赖项的项目,大多数都是静态链接的。编译的发行版exe缺少调试版本msvcr100d.dll。显然,该应用程序不需要msvcr100d,因为它是发行版(确实需要msvcr100)。
在Dependecy Walker的帮助下,我发现它是需要msvcr100d的可执行文件本身,而不是另一个dll。我猜测其中一个依赖项配置错误或使用了诸如Multithreaded-Debug-DLL(/ MDd)之类的标志(尽管我已经检查了该依赖项的所有依赖项),这使得链接到msvcr100d。
是否有一种方法可以找出哪个静态库负责链接到msvcr100d,而不必研究每个依赖项的属性?也许使用pdb文件中的信息(我也是为发布而创建的)?