0
我想使用VC++
的一個版本,例如, VC++2003
,爲我的客戶製作一個DLL。如何爲不同的VC編譯器製作DLL
他們可能使用VC++2005, VC++2008Express, VC++2010Pro,...
,他們可能會使用調試設置和發佈設置來編譯他們的項目。
我可以只爲此目的製作一個DLL,還是我必須製作幾個對應所有這些可能性的DLL?
我想使用VC++
的一個版本,例如, VC++2003
,爲我的客戶製作一個DLL。如何爲不同的VC編譯器製作DLL
他們可能使用VC++2005, VC++2008Express, VC++2010Pro,...
,他們可能會使用調試設置和發佈設置來編譯他們的項目。
我可以只爲此目的製作一個DLL,還是我必須製作幾個對應所有這些可能性的DLL?
我只是創建了2個DLL項目。一個用於發佈版本,一個用於調試版本。這兩個項目使用多字節字符集。 爲了測試,我使用Unicode字符集創建了一個EXE項目。 EXE項目的調試和發佈版本鏈接到這兩個DLL沒有問題。
這不是我已經知道的。我必須更新我學到的東西。
順便說一下,我使用VC++ 2012 Express來測試上述情況。
如果你堅持一個純粹的C接口(或COM,如果你喜歡的話),使用它只是一個版本非常簡單。 –
您可以製作一個'.DLL'文件,該文件僅導出不使用任何依賴於編譯器的類型/約定/功能的扁平化C風格函數。還有一個用於C/C++編譯器的'.H'文件。然後,每個編譯器都有自己的方法,根據需要將DLL導入到項目中,無論是通過創建編譯器特定的導入LIB文件,還是提供特定的代碼語法來直接加載/訪問DLL函數。或者,用戶可以簡單地調用Win32'LoadLibrary()'和'GetProcAddress()'函數(或利用其編譯器的延遲加載功能自動調用這些函數)。 –
調試構建和發佈如何構建?我必須提供調試版本.dll和發行版本.dll嗎? – JoeChou