我學會了如何製作一個DLL,它很容易進行單元測試,因爲它出現在我的DLL項目的項目配置中,因爲它在相同的解決方案中文件。配置Visual C++ 2010項目以使用DLL
現在我開始另一個項目,但我想使用我的DLL或它的另一個DLL,我在哪裏告訴visual使用這個或這個DLL?
我配置可視化使用正確的標題,但我怎樣才能使它找到DLL文件?
我學會了如何製作一個DLL,它很容易進行單元測試,因爲它出現在我的DLL項目的項目配置中,因爲它在相同的解決方案中文件。配置Visual C++ 2010項目以使用DLL
現在我開始另一個項目,但我想使用我的DLL或它的另一個DLL,我在哪裏告訴visual使用這個或這個DLL?
我配置可視化使用正確的標題,但我怎樣才能使它找到DLL文件?
您可以在Visual Studio中進行自動設置,以便DLL的用戶不會忘記這一點。典型的DLL的頭文件看起來是這樣的:
#undef MYEXPORTS
#ifdef BUILDING_MYDLL
# define MYEXPORTS __declspec(dllexport)
#else
# define MYEXPORTS __declspec(dllimport)
# pragma comment(lib, "mydll.lib")
#endif
MYEXPORTS void SomeFunction();
// etc..
#pragma指令注入一個連接器選項爲確保鏈接器總是尋找當一個客戶端程序來#include頭文件中的.lib .obj文件。即使您從未在「附加依賴關係」設置中明確提及它,它也始終查找CRT .lib文件的正確版本。這是否是非標準的,但使用DLL無論如何都是非標準的。
您需要將.LIB文件添加到您的項目中。它應該在編譯DLL時生成,並且與編譯的DLL位於同一目錄中。
在VS2008中,您將打開項目屬性並轉到鏈接器,輸入,附加依賴關係並在其中指定LIB文件。在VS2010中它應該非常相似。
我剛剛在某處看到有兩種不同的.lib文件,一種是用來鏈接一個dll的文件,另一種是純靜態的lib文件。我只是喜歡微軟。 – jokoon 2010-12-24 17:54:49
UNIX .so庫是否爲「標準」。什麼應該是標準的,爲什麼它不是一個標準?什麼是微軟再次錯誤? – jokoon 2010-12-22 17:28:37