diff --git a/app/Algorithms/ClassAnalysis.cpp b/app/Algorithms/ClassAnalysis.cpp
index 9d935c27d05178508369042623e7344a30af1d77..24da18c0a706e4b08995cf975eb1dcf760767fbc 100644
--- a/app/Algorithms/ClassAnalysis.cpp
+++ b/app/Algorithms/ClassAnalysis.cpp
@@ -22,8 +22,9 @@
 #include <cstring>
 #include <cstdio>
 #include <cmath>
+#include <cstdlib>
 
-#include <GrayscaleImage.h>
+#include "GrayscaleImage.h"
 
 using namespace ClassAnalysis;
 using namespace imagein;
diff --git a/app/Algorithms/Pyramid.cpp b/app/Algorithms/Pyramid.cpp
index d865a2675cde5cbfddeaf2373e2e31f77c13f8c3..afcdf94a4ad828a169eb099bc306380da13657dd 100644
--- a/app/Algorithms/Pyramid.cpp
+++ b/app/Algorithms/Pyramid.cpp
@@ -21,6 +21,8 @@
 #include <Algorithm/Filtering.h>
 #include <cstdio>
 #include <cstring>
+#include <cstdlib>
+#include <cmath>
 using namespace std;
 using namespace imagein;
 using namespace Pyramid;
diff --git a/app/Operations/EntropyOp.cpp b/app/Operations/EntropyOp.cpp
index 1db22079cabf141d0ab652f7b8e44e7ce7419018..75ada0350e291623ce4a0966fc21ee9ccc61ba3f 100644
--- a/app/Operations/EntropyOp.cpp
+++ b/app/Operations/EntropyOp.cpp
@@ -17,6 +17,8 @@
  * along with EIImage.  If not, see <http://www.gnu.org/licenses/>.
 */
 
+#include <cmath>
+
 #include "EntropyOp.h"
 
 #include "../Tools.h"
diff --git a/app/Operations/Huffman.cpp b/app/Operations/Huffman.cpp
index 9df646fdc4aadd70770172833895cc170d0bfd43..d75ead156f8f4207b5459ceb619aaf7099f39476 100644
--- a/app/Operations/Huffman.cpp
+++ b/app/Operations/Huffman.cpp
@@ -20,6 +20,7 @@
 #include "Huffman.h"
 #include <cstring>
 #include <cstdio>
+#include <cmath>
 
 using namespace std;
 using namespace imagein;
diff --git a/app/Operations/MICD.cpp b/app/Operations/MICD.cpp
index 9d9035f13d4aa271176347801b1e9ca725c58640..9a51b177f949091b9ef1b73cf64e33a915363a7f 100644
--- a/app/Operations/MICD.cpp
+++ b/app/Operations/MICD.cpp
@@ -20,6 +20,7 @@
 #include "MICD.h"
 #include <cstring>
 #include <cstdio>
+#include <cmath>
 
 using namespace std;
 using namespace imagein;
diff --git a/app/Operations/Quantification.cpp b/app/Operations/Quantification.cpp
index eae19cc6bf87a51410f7c313e8b24a6e3a6a30ec..d645ce9cc6c2cbc645e1fd3c0bd26e1605f5ee8e 100644
--- a/app/Operations/Quantification.cpp
+++ b/app/Operations/Quantification.cpp
@@ -19,6 +19,8 @@
 
 #include "Quantification.h"
 #include <fstream>
+#include <iostream>
+#include <cmath>
 
 using namespace std;
 using namespace imagein;
diff --git a/app/Operations/RotateOp.cpp b/app/Operations/RotateOp.cpp
index 659ebcfc9fb80c606f5c15faa1ebf08a8f572ae1..f44f22359fe01107f7a714533235e54abaf89cd0 100644
--- a/app/Operations/RotateOp.cpp
+++ b/app/Operations/RotateOp.cpp
@@ -23,6 +23,8 @@
 #include <QSpinBox>
 #include <QCheckBox>
 
+#include <cmath>
+
 #include "RotateOp.h"
 #include "../Tools.h"
 
diff --git a/app/Operations/SignalToNoiseOp.cpp b/app/Operations/SignalToNoiseOp.cpp
index c2ae8e97c784ac8b749674a2ea7ce87c8933a621..4f8aa643975bb1240409eb1827533e0d9b584131 100644
--- a/app/Operations/SignalToNoiseOp.cpp
+++ b/app/Operations/SignalToNoiseOp.cpp
@@ -20,6 +20,7 @@
 #include <QDialog>
 #include <QDialogButtonBox>
 #include <QFormLayout>
+#include <cmath>
 #include <Image.h>
 
 #include <Widgets/ImageListBox.h>
diff --git a/app/Operations/SinusSynthesisOp.cpp b/app/Operations/SinusSynthesisOp.cpp
index 79c8dbfdca50c9a01a4459d2a3b1d1c5c9f47bf7..040e70dd34e3e955d3a4957a105a337410a04021 100644
--- a/app/Operations/SinusSynthesisOp.cpp
+++ b/app/Operations/SinusSynthesisOp.cpp
@@ -31,6 +31,7 @@
 #include <QRadioButton>
 #include <QHBoxLayout>
 #include <QLabel>
+#include <cmath>
 
 using namespace std;
 using namespace imagein;
diff --git a/app/Operations/ZeroCrossingOp.cpp b/app/Operations/ZeroCrossingOp.cpp
index 0273f092b7138693fcae0dc85c218392a60e616b..fd6418b168fb5b801a4111abb3c85fb16e2e12f0 100644
--- a/app/Operations/ZeroCrossingOp.cpp
+++ b/app/Operations/ZeroCrossingOp.cpp
@@ -23,11 +23,11 @@
 #include <QDoubleSpinBox>
 #include <QDialogButtonBox>
 #include <QApplication>
+#include <cmath>
 
 #include "ZeroCrossingOp.h"
 #include "../Tools.h"
 
-using namespace std;
 using namespace imagein;
 
 ZeroCrossingOp::ZeroCrossingOp() : DoubleOperation(qApp->translate("Operations", "Zero crossing").toStdString())
@@ -74,7 +74,7 @@ void ZeroCrossingOp::operator()(const imagein::Image_t<double>* img, const std::
                 for(unsigned int k = i-1; k < i+1; ++k) {
                     for(unsigned int l = j-1; l < j+1; ++l) {
                         if(img->getPixelAt(i, j, c) <= 0 && img->getPixelAt(k, l, c) > 0) {
-                            double dist = abs(img->getPixelAt(i, j, c) - img->getPixelAt(k, l, c));
+                            double dist = std::abs(img->getPixelAt(i, j, c) - img->getPixelAt(k, l, c));
                             if(dist > threshold) edge = true;
                         }
                     }
diff --git a/core/ImgParam.cpp b/core/ImgParam.cpp
index 3f63cb1971d8efd94792f1446aff85a9f48ff1b3..e49ea41a8bd10f6cf7b2c845da25971d16439407 100644
--- a/core/ImgParam.cpp
+++ b/core/ImgParam.cpp
@@ -25,6 +25,8 @@
 #include <Widgets/ImageWidgets/StandardImageWindow.h>
 #include <Widgets/ImageWidgets/DoubleImageWindow.h>
 
+#include "Image.h"
+
 using namespace std;
 using namespace imagein;
 using namespace genericinterface;
diff --git a/core/PlugOperation.cpp b/core/PlugOperation.cpp
index 669585fa6af2950ab912b6552bd8326649acae14..635e667d918c5b4bfa077365f888511898c8e1a2 100644
--- a/core/PlugOperation.cpp
+++ b/core/PlugOperation.cpp
@@ -26,7 +26,7 @@
 #include "PlugOperation.h"
 #include <Widgets/ImageWidgets/StandardImageWindow.h>
 #include <Widgets/ImageWidgets/DoubleImageWindow.h>
-
+#include "Image.h"
 
 using namespace std;
 using namespace imagein;