diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 45dbd6796..a41e22f4a 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -253,6 +253,7 @@ add_library(core STATIC
     loader/nso.h
     memory.cpp
     memory.h
+    memory_hook.cpp
     memory_hook.h
     memory_setup.h
     perf_stats.cpp
diff --git a/src/core/memory_hook.cpp b/src/core/memory_hook.cpp
new file mode 100644
index 000000000..c61c6c1fb
--- /dev/null
+++ b/src/core/memory_hook.cpp
@@ -0,0 +1,11 @@
+// Copyright 2018 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#include "core/memory_hook.h"
+
+namespace Memory {
+
+MemoryHook::~MemoryHook() = default;
+
+} // namespace Memory
diff --git a/src/core/memory_hook.h b/src/core/memory_hook.h
index feebd850a..e8ea19333 100644
--- a/src/core/memory_hook.h
+++ b/src/core/memory_hook.h
@@ -23,7 +23,7 @@ namespace Memory {
  */
 class MemoryHook {
 public:
-    virtual ~MemoryHook() = default;
+    virtual ~MemoryHook();
 
     virtual boost::optional<bool> IsValidAddress(VAddr addr) = 0;