diff --git a/include/ehwrite.h b/include/ehwrite.h
index 4ea9e8b700d4bffa2b4c82d93f08057c56eea768..30a28ebcaed893ec977a175d34f46eebc1d00d47 100644
--- a/include/ehwrite.h
+++ b/include/ehwrite.h
@@ -129,7 +129,7 @@ namespace EhWriter
 				ret += string(reinterpret_cast<const char*>(&handle.handler_rva)    , 4);
 				ret += string(reinterpret_cast<const char*>(handle.user_data.data()), handle.user_data.size());
 
-				return move(ret);
+				return ret;
 
 			}
 
diff --git a/src/cmdstr.hpp b/src/cmdstr.hpp
index eeccc1bb0a34614837db055fa8b44bb307d10632..00e2b397f3db5f3aa53e234d25cde6cf36dd86c7 100644
--- a/src/cmdstr.hpp
+++ b/src/cmdstr.hpp
@@ -12,6 +12,7 @@
 #include <string>
 #include <vector>
 #include <array>
+#include <functional>
 
 using namespace std;
 
diff --git a/src/ehwrite.cpp b/src/ehwrite.cpp
index 2a00872e57afa71678e37bce182cd3c7a8d98a87..c754589b29e21b7593c517659753803300213f05 100644
--- a/src/ehwrite.cpp
+++ b/src/ehwrite.cpp
@@ -133,7 +133,7 @@ typename PEEhWriter_t<ptrsize>::SehVector_t  PEEhWriter_t<ptrsize>::BuildSehVect
 	cout << "# ATTRIBUTE ExceptionHandlerWrite::unwinds_calculated=" << dec << unwind_infos        << endl;
 	cout << "# ATTRIBUTE ExceptionHandlerWrite::insns_with_eh_info=" << dec << insns_with_frame    << endl;
 	cout << "# ATTRIBUTE ExceptionHandlerWrite::avg_insns_per_fde =" << dec << avg_insn_per_unwind << endl;
-	return move(all_unwind_infos);
+	return (all_unwind_infos);
 }
 
 template<int ptrsize>
diff --git a/src/zipr.cpp b/src/zipr.cpp
index 20f4b14e9aea07469b584080500f0c6c38fcd29b..943bad1b0ea1274873c2a37ef3d96d037ca3d7d9 100644
--- a/src/zipr.cpp
+++ b/src/zipr.cpp
@@ -146,7 +146,7 @@ ZiprImpl_t::~ZiprImpl_t()
 	{
 		m_pqxx_interface->commit();
 	}
-	catch (DatabaseError_t pnide)
+	catch (const DatabaseError_t& pnide)
 	{
 		cout<<"Unexpected database error: "<<pnide<<endl;
 	}