Я начал C++ совсем недавно, и у меня, очевидно, есть знаменитая проблема с LNK2019. Я бродил несколько часов в Google, но ничто не решило мою проблему. Мой проект на полпути закодирован, так как я отделяю представление и модель. Я работаю с Visual Studio 2010.Ошибка LNK2019 при связывании в VS2010
Вот класс, функция которого не извлекается:
Display.h:
#ifndef DEF_DISPLAY
#define DEF_DISPLAY
#include <Windows.h>
#include <exception>
class Display{
public:
HWND mainWindow, gameWindow;
WNDCLASS mainClass, gameClass;
public:
Display();
static LRESULT CALLBACK mainWindowProc(HWND mainWin, UINT message, WPARAM wParam, LPARAM lParam);
static LRESULT CALLBACK gameWindowProc(HWND gameWin, UINT message, WPARAM wParam, LPARAM lParam);
**int run();** // This function is not retrieved by the linker.
};
#endif
А вот Display.cpp:
#include "Display.h"
HINSTANCE instanceMain = 0, instanceGame = 0;
Display::Display(){...}
LRESULT CALLBACK Display::mainWindowProc(HWND mainWin, UINT message, WPARAM wParam, LPARAM lParam){...}
LRESULT CALLBACK Display::gameWindowProc(HWND gameWin, UINT message, WPARAM wParam, LPARAM lParam){...}
int run(){
MSG message;
while(GetMessage(&message, 0, 0, 0)){
TranslateMessage(&message);
DispatchMessage(&message);
}
return message.wParam;
}
И, наконец, вот мой main.cpp:
#include "Display.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR pCmdLine, int nCmdShow){
Display game;
return game.run();
}
я не закончил закодировать свой проект, потому что я узнал, что вопрос при построении его:
1> All outputs are up-to-date.
1>main.obj : error LNK2019: unresolved external symbol "public: int __thiscall Display::run(void)" ([email protected]@@QAEHXZ) referenced in function [email protected]
1>C:\Users\glembalis\Documents\Visual Studio 2010\Projects\pendu\Debug\pendu.exe : fatal error LNK1120: 1 unresolved externals
1>
1>Build FAILED.
Я не знаю, где может произойти ошибка.
- Display.h и Display.cpp включены в проект
- Опция в проекте> Свойства> Linker> Система> SubSystem является "Windows"
- Я не использовать внешние библиотеки (только для Windows. ч и исключение)
Компилятор, похоже, работает хорошо. Мне все равно, работает ли программа правильно, я исправлю ее позже. На данный момент эта проблема с компоновщиком - моя главная проблема! Думаю, это всего лишь небольшая глупая ошибка, но я не могу ее найти!
Спасибо всем за ваше время и внимание, с нетерпением жду ответа! Наконец, я прошу прощения, но английский не мой родной язык, и я, возможно, написал некоторые ошибки.
Имейте славный день!
NoobFeeder