Error in Singleton
<p>I was implementing a singleton class for my game but every time I try to compile it, it gives a compilation error. The code is as follows :</p>

<pre><code>    //Singleton.h
    #pragma once

    class Singleton{
    public:
        static Singleton* Instance();

    private:
        Singleton(){};

        static Singleton* m_instance;
    };

    Singleton* SingletonInstance = Singleton::Instance();
</code></pre>

<p>Singleton.cpp</p>

<pre><code>//Singleton.cpp
#include "Untitled1.h"

Singleton* m_instance = nullptr;


Singleton* Singleton::Instance(){
    if(m_instance == nullptr){
        m_instance = new Singleton;
    }
    return m_instance;
}
</code></pre>

<p>I am getting the following errors:</p>

<pre>
||=== Build: Debug in df (compiler: GNU GCC Compiler) ===|
obj\Debug\Untitled1.o||In function `ZN9Singleton8InstanceEv':|
C:\Users\Samsung R519\Desktop\Untitled1.cpp|7|multiple definition of `SingletonInstance'|
obj\Debug\main.o:C:\Users\Samsung R519\Desktop\main.cpp|4|first defined here|
obj\Debug\Untitled1.o:Untitled1.cpp|| undefined reference to `Singleton::m_instance'|
obj\Debug\Untitled1.o:Untitled1.cpp|| undefined reference to `Singleton::m_instance'|
||=== Build failed: 4 error(s), 0 warning(s) (0 minute(s), 10 second(s)) ===|
</pre>

<p>What am I doing wrong?</p>