2013-03-01 94 views
0

我正在使用Visual Studio 2010 for C++項目。我需要使用在Visual Studio 2005中創建的dll和.lib文件。可能嗎?是在Visual Studio 2010中支持的Visual Studio 2005中創建的dll嗎?

+2

當您嘗試在VS 2010中鏈接到此DLL和.lib時會發生什麼?你有什麼錯誤嗎? – Tuxdude 2013-03-01 03:26:47

+0

其實我們必須從visual studio 2005項目製作dll和.lib,之後我們將在visual studio 2010項目中使用它。其實我們要確認它會起作用。你能幫我嗎? – 2013-03-01 03:33:41

+2

你需要幫助自己。不能保證它會或不會工作,它取決於DLL接口的乾淨程度。一個簡單的C接口很少是一個問題,導出函數中的任何std C++類總是一個問題。如果您有*使用VS2005內置的DLL,因爲您沒有任何選擇,所以在詢問此問題時毫無意義。如果你實際上有選擇使用VS2010重建該DLL,那麼*總是*做到這一點。 – 2013-03-01 03:52:59

回答

0

從不同版本的Visual Studio中鏈接到庫通常很好。請注意以下幾點:

1)VS2005庫將以VS2005 C++運行時爲目標,因此需要在終端系統上安裝VS2005和VS2010可再發行組件包。

2)每個運行時管理自己的堆,因此一個運行時分配的內存不能被另一個運行時安全釋放。 (不允許可執行文件釋放由庫分配的內存。)