我一直無法找到很多或任何有關這方面的信息。我有一個使用VS2005構建的項目,因此使用mscvr80.dll。我的項目也加載第三方庫,然後加載mscvrt60.dll。加載多個mscvrt **。dll版本是否存在問題?
現在我有一個奇怪的錯誤在我的程序中的程序崩潰與內存讀取違規(調試它在0xcdcdcdcd,從我的搜索描述非初始化的內存位置)。調試程序指示違規在第三方庫中的未知功能內。
我已聯繫此庫的所有者,他們不知道任何錯誤,如上所述。另外,我還有其他項目,使用VS60編譯,使用這個第三方庫,並沒有類似的錯誤。因此我想知道,使用多個通用運行時版本會有問題嗎?我記得隱約聽到一個運行時(比如在.dll中)可以分配內存的情況,然後如果另一個版本試圖釋放這個內存,那可能會導致問題。但是,我不記得我在哪裏閱讀這些內容,也無法找到關於此主題的很多信息。
任何輸入,非常感謝。
有沒有簡單的方法來編譯我的項目對V60?沒有真正嘗試將解決方案降級到Visual C++ 6.0? – DeusAduro 2010-06-22 16:39:11
那麼,如果您安裝了VC6,則可以在鏈接器設置中選擇「無默認庫」選項。然後手動將其指向較舊的館藏。 – 2010-06-22 17:03:06