2010-07-26 22 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。

是的,這可能會導致一個問題

可這是我的調試版本的編譯設置有問題?