diff --git a/Makefile.am b/Makefile.am
index 175355c..4bed320 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -22,7 +22,8 @@
 	sdbusplus/utility/type_traits.hpp \
 	sdbusplus/vtable.hpp
 
-LIBSDBUSPLUS_FILES =
+LIBSDBUSPLUS_FILES = \
+	sdbusplus/exception.cpp
 
 if WANT_TRANSACTION
 LIBSDBUPLUS_FILES_TRANSACTION = \
diff --git a/sdbusplus/exception.cpp b/sdbusplus/exception.cpp
new file mode 100644
index 0000000..e3a5ac9
--- /dev/null
+++ b/sdbusplus/exception.cpp
@@ -0,0 +1,24 @@
+#include <sdbusplus/exception.hpp>
+
+namespace sdbusplus
+{
+namespace exception
+{
+
+const char* InvalidEnumString::name() const noexcept
+{
+    return errName;
+}
+
+const char* InvalidEnumString::description() const noexcept
+{
+    return errDesc;
+}
+
+const char* InvalidEnumString::what() const noexcept
+{
+    return errWhat;
+}
+
+} // namespace exception
+} // namespace sdbusplus
diff --git a/sdbusplus/exception.hpp b/sdbusplus/exception.hpp
index a0e628e..54ba16b 100644
--- a/sdbusplus/exception.hpp
+++ b/sdbusplus/exception.hpp
@@ -35,20 +35,9 @@
         "An enumeration mapping was attempted for which no valid enumeration "
         "value exists.";
 
-    const char* name() const noexcept override
-    {
-        return errName;
-    }
-
-    const char* description() const noexcept override
-    {
-        return errDesc;
-    }
-
-    const char* what() const noexcept override
-    {
-        return errWhat;
-    }
+    const char* name() const noexcept override;
+    const char* description() const noexcept override;
+    const char* what() const noexcept override;
 };
 
 } // namespace exception
