我在Visual Studio中爲我的控制檯應用程序創建了一個DLL。 在我的DLL中,我有一個名爲Dialog_MainMenu的類,它有一個* .cpp文件和一個* .h文件。無法解析的外部符號_declspec(dllimport)
以下錯誤消息:
Error 9 error LNK2001: unresolved external symbol "__declspec(dllimport) public: static enum Dialog_MainMenu::GAME_STATES Dialog_MainMenu::CurrentGameState" (_imp[email protected][email protected]@[email protected]@A) C:\Users\Kevin\Desktop\c++ projects\development_testing\The Intense Adventure\Dialogs\Dialog_MainMenu.obj Dialogs
對此我有點不明白。這隻發生在我的頭文件中將枚舉添加到我的原型時。
頭文件:
#ifdef DIALOG_MAINMENU_EXPORTS
#define DIALOG_MAINMENU_API __declspec(dllexport)
#else
#define DIALOG_MAINMENU_API __declspec(dllimport)
#endif
class Dialog_MainMenu {
public:
static DIALOG_MAINMENU_API enum GAME_STATES {
MAINMENU, GAME, OPTIONS, CREDITS, QUIT
};
static DIALOG_MAINMENU_API GAME_STATES CurrentGameState;
DIALOG_MAINMENU_API GAME_STATES GetState();
};
(不知道是不是問題就出在這裏,所以我就加吧)一般 CPP文件:
//Get state
Dialog_MainMenu::GAME_STATES Dialog_MainMenu::GetState() {
// Code..
}
//Switching state
Dialog_MainMenu::CurrentGameState = Dialog_MainMenu::GAME_STATES::GAME;
我真的很感激,任何幫助或至少一些建議,我可以在這裏瞭解更多關於這個問題。
您是否引用.lib文件? –
我確實做到了。我甚至三重檢查。 –
你可以添加用於你的問題的鏈接命令嗎? – greatwolf