src/matrix.h          |    5 +++--
 src/primitives-3d.cpp |    1 +
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/matrix.h b/src/matrix.h
index 1053ad9..d7dae5f 100644
--- a/src/matrix.h
+++ b/src/matrix.h
@@ -14,6 +14,7 @@
 #include <istream>
 #include <cassert>
 #include <stdexcept>
+#include <unistd.h>
 
 // --------------------------------------------------------------------
 // uBlas compatible matrix types
@@ -284,7 +285,7 @@ class identity_matrix : public matrix_base<T>
 template<typename T>
 matrix<T> operator*(const matrix_base<T>& lhs, const matrix_base<T>& rhs)
 {
-	matrix<T> result(min(lhs.dim_m(), rhs.dim_m()), min(lhs.dim_n(), rhs.dim_n()));
+	matrix<T> result(std::min(lhs.dim_m(), rhs.dim_m()), std::min(lhs.dim_n(), rhs.dim_n()));
 	
 	for (uint32 i = 0; i < result.dim_m(); ++i)
 	{
@@ -310,7 +311,7 @@ matrix<T> operator*(const matrix_base<T>& lhs, T rhs)
 template<typename T>
 matrix<T> operator-(const matrix_base<T>& lhs, const matrix_base<T>& rhs)
 {
-	matrix<T> result(min(lhs.dim_m(), rhs.dim_m()), min(lhs.dim_n(), rhs.dim_n()));
+	matrix<T> result(std::min(lhs.dim_m(), rhs.dim_m()), std::min(lhs.dim_n(), rhs.dim_n()));
 	
 	for (uint32 i = 0; i < result.dim_m(); ++i)
 	{
diff --git a/src/primitives-3d.cpp b/src/primitives-3d.cpp
index b04e7c4..4532ecd 100644
--- a/src/primitives-3d.cpp
+++ b/src/primitives-3d.cpp
@@ -9,6 +9,7 @@
 
 #include <valarray>
 #include <cmath>
+#include <unistd.h>
 
 #include <boost/foreach.hpp>
 #define foreach BOOST_FOREACH