2010-07-26 52 views
0

我怎么会这样(在调试模式下)构建的dll尝试加载msvcr80.dll和msvcr80d.dll ...我认为这会导致冲突,因为它可以解析相同的符号两次...需要msvcr80.dll和msvcr80d.dll在相同的DLL?

我不知道为什么到MSVCR80.DLL依赖进来根据的Dependency Walker输出中的依赖关系,从我的DLL,而不是通过其它的DLL来直接...

可这是构建设置问题我的调试版本?

+0

其实,这不会导致大的冲突,所有的符号隐含他们从导出的DLL作用域。例如。你可以同时拥有'msvcr80.dll :: printf'和'msvcr80d.dll :: printf'。但即使你可能没有_conflicts_,你仍然可能有其他问题。例如。混合'msvcr80.dll :: malloc'和'msvcr80d.dll :: free' – MSalters 2010-07-27 10:44:17

回答

1

这可能是由于你喜欢的其中一个DLL在发布模式 中链接,因此它们会在加载msvcr80d.dll时加载msvcr80.dll。

是的,这可能会导致一个问题

可这是我的调试版本的编译设置有问题?

相关问题