diff --git a/src/archiver.h b/src/archiver.h
index cba983ec9d62fe17d3e4712f413252bf706aa949..ccf7faa88aa7e97fd5c6f434c4a3cb427a47b60f 100644
--- a/src/archiver.h
+++ b/src/archiver.h
@@ -22,6 +22,7 @@
 
 #include "noncopyable.h"
 
+#include <cstdint>
 #include <string>
 #include <vector>
 #include <map>
diff --git a/src/jami/trace-tools.h b/src/jami/trace-tools.h
index 6155a46c412b643acfe3468e5ea91acca3126190..ccd65cdf834cb59072d237908cb8d611f82e114a 100644
--- a/src/jami/trace-tools.h
+++ b/src/jami/trace-tools.h
@@ -34,6 +34,7 @@
 
 #ifdef HAVE_CXXABI_H
 #include <cxxabi.h>
+#include <string>
 
 template<typename T>
 std::string demangle()
diff --git a/src/scheduled_executor.h b/src/scheduled_executor.h
index b1fd34f04d17e0656ffc3c8dbc6dfe54e13f092a..4802d3bcf92028aee695cd9a08e5f0ea024a1525 100644
--- a/src/scheduled_executor.h
+++ b/src/scheduled_executor.h
@@ -29,6 +29,7 @@
 #include <mutex>
 #include <condition_variable>
 #include <ciso646>
+#include <string>
 
 #include "noncopyable.h"
 
diff --git a/src/string_utils.h b/src/string_utils.h
index 695e431c36c8b8ba5b35f0e9e79f66767a3675e1..04f3133ef1e193ec12cf7b71400ac534717fe1cc 100644
--- a/src/string_utils.h
+++ b/src/string_utils.h
@@ -21,6 +21,7 @@
 
 #pragma once
 
+#include <cstdint>
 #include <string>
 #include <vector>
 #include <set>