diff --git a/resources/3rdparty/CMakeLists.txt b/resources/3rdparty/CMakeLists.txt
index 786cc4665..cea4cd44d 100644
--- a/resources/3rdparty/CMakeLists.txt
+++ b/resources/3rdparty/CMakeLists.txt
@@ -64,7 +64,7 @@ set(Boost_USE_STATIC_LIBS        ${USE_BOOST_STATIC_LIBRARIES})
 set(Boost_USE_MULTITHREADED      ON)
 set(Boost_USE_STATIC_RUNTIME    OFF)
 
-find_package(Boost 1.57.0 QUIET REQUIRED COMPONENTS filesystem)
+find_package(Boost 1.57.0 QUIET REQUIRED COMPONENTS filesystem system)
 
 if ((NOT Boost_LIBRARY_DIRS) OR ("${Boost_LIBRARY_DIRS}" STREQUAL ""))
     set(Boost_LIBRARY_DIRS "${Boost_INCLUDE_DIRS}/stage/lib")
diff --git a/resources/3rdparty/cpptemplate/cpptempl.h b/resources/3rdparty/cpptemplate/cpptempl.h
index e3c153979..d5770d999 100644
--- a/resources/3rdparty/cpptemplate/cpptempl.h
+++ b/resources/3rdparty/cpptemplate/cpptempl.h
@@ -171,7 +171,7 @@ namespace cpptempl
 	public:
 		TemplateException(std::string reason) : m_reason(reason){}
 		~TemplateException() throw() {}
-		const char* what() throw() {
+		const char* what() const throw() {
 			return m_reason.c_str();
 		}
 	private:
@@ -182,6 +182,9 @@ namespace cpptempl
 	class Data
 	{
 	public:
+        virtual ~Data() {
+            // Intentionally left empty.
+        }
 		virtual bool empty() = 0 ;
 		virtual wstring getvalue();
 		virtual data_list& getlist();
diff --git a/src/adapters/Z3ExpressionAdapter.cpp b/src/adapters/Z3ExpressionAdapter.cpp
index 8258f42f5..799c73d78 100644
--- a/src/adapters/Z3ExpressionAdapter.cpp
+++ b/src/adapters/Z3ExpressionAdapter.cpp
@@ -1,11 +1,12 @@
+#include "src/adapters/Z3ExpressionAdapter.h"
 
-#include "Z3ExpressionAdapter.h"
 #include "src/storage/expressions/Expressions.h"
 #include "src/storage/expressions/ExpressionManager.h"
 #include "src/utility/macros.h"
 #include "src/exceptions/ExpressionEvaluationException.h"
 #include "src/exceptions/InvalidTypeException.h"
 #include "src/exceptions/NotImplementedException.h"
+
 namespace storm {
     namespace adapters {
 
diff --git a/src/storage/expressions/ExpressionVisitor.h b/src/storage/expressions/ExpressionVisitor.h
index cfe2ce9b6..edbdc5d5a 100644
--- a/src/storage/expressions/ExpressionVisitor.h
+++ b/src/storage/expressions/ExpressionVisitor.h
@@ -2,6 +2,7 @@
 #define STORM_STORAGE_EXPRESSIONS_EXPRESSIONVISITOR_H_
 
 #include <boost/any.hpp>
+#include <boost/none.hpp>
 
 namespace storm {
     namespace expressions {
@@ -33,4 +34,4 @@ namespace storm {
     }
 }
 
-#endif /* STORM_STORAGE_EXPRESSIONS_EXPRESSIONVISITOR_H_ */
\ No newline at end of file
+#endif /* STORM_STORAGE_EXPRESSIONS_EXPRESSIONVISITOR_H_ */
diff --git a/src/storage/expressions/LinearCoefficientVisitor.cpp b/src/storage/expressions/LinearCoefficientVisitor.cpp
index 6a8701610..f57aad934 100644
--- a/src/storage/expressions/LinearCoefficientVisitor.cpp
+++ b/src/storage/expressions/LinearCoefficientVisitor.cpp
@@ -155,4 +155,4 @@ namespace storm {
             return VariableCoefficients(expression.getValueAsDouble());
         }
     }
-}
\ No newline at end of file
+}
diff --git a/src/storage/expressions/LinearityCheckVisitor.cpp b/src/storage/expressions/LinearityCheckVisitor.cpp
index b762f9cf1..01faf86de 100644
--- a/src/storage/expressions/LinearityCheckVisitor.cpp
+++ b/src/storage/expressions/LinearityCheckVisitor.cpp
@@ -1,4 +1,5 @@
 #include "src/storage/expressions/LinearityCheckVisitor.h"
+
 #include "src/storage/expressions/Expressions.h"
 
 #include "src/utility/macros.h"
@@ -89,4 +90,4 @@ namespace storm {
             return LinearityStatus::LinearWithoutVariables;
         }
     }
-}
\ No newline at end of file
+}