I was making a program for shader parsing and I wanted to move some pieces of code to different classes, then I got a lot of linker errors, started to debug them and tried to get to as basic situation as I can to eliminate them one by one, I removed all of the code and I don't know if it's just me being tired or there's something wrong with my visual studio but this code :
main.cpp
#include "Shader.h"
int main()
{
Shader shader;
shader.DoStuff();
return 0;
}
Shader.h
#pragma once
class Shader
{
public:
void DoStuff();
};
Shader.cpp
#include "Shader.h"
void Shader::DoStuff()
{
}
Generates linker error:
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol "public: void __thiscall Shader::DoStuff(void)" (?DoStuff@Shader@@QAEXXZ) referenced in function _main ShaderParser
Like, did I forget about something or what is going on?