我有一個名爲MyKinectDll的visual studio項目,我正在編譯爲一個DLL。我有另一個名爲MyKinectApp的項目,它是一個可執行文件。我有他們在相同的解決方案。我已經從MyKinectApp添加了一個依賴到MyKinectDll。我已將MyKinectApp的引用添加到MyKinectDll。我已將MyKinectDll的位置添加到MyKinectApp的其他包含目錄中。然後在我的代碼中添加#include「MyKinect.h」,它是MyKinectDll中的頭文件之一,並且被識別。但是,當我編譯時,只有MyKinectDll成功構建,並且MyKinectApp中的錯誤抱怨缺少頭文件。這些頭文件在MyKinect.h中被調用,並在MyKinectDll中的其他地方出現,並自行正確構建。在Visual C++中添加一個DLL作爲靜態庫
我不確定是否需要在鏈接器設置中鏈接到MyKinectDll的.lib文件,但我已經嘗試過了,並且出現同樣的錯誤。我究竟做錯了什麼?
非常感謝您的幫助。
的Visual Studio版本是你在用嗎?你使用'__declspec(dllexport)'從DLL導出dll函數/類嗎? – 2012-01-03 14:28:02
您需要將MyKinect.h使用的所有標題的位置添加到MyKinectApp項目的其他包含目錄中。 – StevieG 2012-01-03 14:31:29
@StevieG解決了它;謝謝。但是,我不明白爲什麼需要這一步。當然,DLL應該是獨立的,不需要它的引用在主應用程序中被引用?我的意思是,如果我使用系統DLL,我不擔心包含它引用的所有路徑,對嗎? – 2012-01-03 15:51:42