2011-05-16 82 views
1

我必須在舊項目中修改,我只是在使用VS2005評論C++ 2.0項目中的一行,當我構建項目時,我在.net反射器上看到對MSVCR80的引用.DLL,但在舊的DLL上,這是在生產上,也沒有對此DLL的引用MSVCR80.DLL在C++項目中的參考,VS2005

我該如何刪除此引用?

提前致謝

+0

這是一個C++/CLI項目嗎?從你的問題來看,這並不是特別清楚。但是,如果不是這樣,我不確定如何或爲什麼你使用.NET Reflector查看它。 – 2011-05-16 16:14:48

回答

0

MSVCR80.DLL提供了C運行時。由於您使用不同的編譯器進行編譯,因此您需要使用不同的運行時庫。請參閱here以瞭解更多信息。您可以配置您的項目以靜態鏈接C運行時,並且將擺脫DLL依賴關係。

0

默認情況下靜態庫鏈接到動態運行時,這就是爲什麼你的代碼依賴於msvcr80.dll。 Visual C++程序必須鏈接到運行時。您可以更改靜態庫以使用靜態運行時來刪除依賴項。

Configuration Properties | C/C++ | Code Generation | Runtime Library setting中做。
如果它被設置爲Multi Threaded Debug DLL然後將其設置爲Multi Threaded ....或者只選擇從現有列表中NON-DLL版本

您的代碼可能取決於mfc80.dll因爲你必須配置屬性|一般|將MFC設置爲其中一個MFC選項。

+0

嚴格管理的應用程序不必鏈接到CRT的一個版本。這就是爲什麼找出提問者實際擁有什麼樣的應用很重要。根據這個問題,他正在.NET Reflector中檢查它。這對於非託管C++應用程序,MFC或其他應用程序來說並沒有什麼意義。 – 2011-05-16 16:15:56