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?
 
     
    