diff --git a/wmake/rules/darwin64Clang/c++ b/wmake/rules/darwin64Clang/c++
index dc821d51b4bd9caa2e4f11607ea7669882d1e7f1..7a775f8b6aacbcd5055f333ec7c8e46a1751402f 100644
--- a/wmake/rules/darwin64Clang/c++
+++ b/wmake/rules/darwin64Clang/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Clang/c++
 
-c++ARCH     = -m64 -ftrapping-math
+c++ARCH     = -m64 -pthread -ftrapping-math
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linux64Clang/c++ b/wmake/rules/linux64Clang/c++
index 3563f416017b26adb98973e090f44e9f59243bb9..dce82c6094676d758abe50e5ba5779b36e8f9424 100644
--- a/wmake/rules/linux64Clang/c++
+++ b/wmake/rules/linux64Clang/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Clang/c++
 
-c++ARCH     = -m64
+c++ARCH     = -m64 -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linux64Cray/c++ b/wmake/rules/linux64Cray/c++
index 6e65cbc797f9694facd29874a7e36575034d902a..a4f1fed6b61a560946f6b2d92edf7282ec410e9b 100644
--- a/wmake/rules/linux64Cray/c++
+++ b/wmake/rules/linux64Cray/c++
@@ -2,7 +2,7 @@ include $(GENERAL_RULES)/Gcc/c++
 
 CC          = CC -std=c++11
 
-c++ARCH     = -m64
+c++ARCH     = -m64 -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linux64Gcc/c++ b/wmake/rules/linux64Gcc/c++
index 80665cde62dd30a7e48afd81dd7618bca687939d..735d8058532de213cac0eff33865f6e8f073c898 100644
--- a/wmake/rules/linux64Gcc/c++
+++ b/wmake/rules/linux64Gcc/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Gcc/c++
 
-c++ARCH     = -m64
+c++ARCH     = -m64 -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linux64Icc/c++ b/wmake/rules/linux64Icc/c++
index 182e53128eb6121ff7028f380c07b248dba1e43c..5a8523904d2ef966a99158461f2931613fc35fef 100644
--- a/wmake/rules/linux64Icc/c++
+++ b/wmake/rules/linux64Icc/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Icc/c++
 
-c++ARCH     = -fp-trap=common -fp-model precise
+c++ARCH     = -pthread -fp-trap=common -fp-model precise
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linux64Mingw/c++ b/wmake/rules/linux64Mingw/c++
index 67e4544f9870fb66ec2d37b4098d65163a835bde..fe562de17a04d8a43669df819874b08a77522c87 100644
--- a/wmake/rules/linux64Mingw/c++
+++ b/wmake/rules/linux64Mingw/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Gcc/c++
 
-c++ARCH     = -m64
+c++ARCH     = -m64 -pthread
 
 # With gnu++11 (not c++11) to ensure __STRICT_ANSI__ is not defined
 CC          = x86_64-w64-mingw32-g++ -std=gnu++11
diff --git a/wmake/rules/linuxARM64Arm/c++ b/wmake/rules/linuxARM64Arm/c++
index a66ac2151bed6cfa59687576c34fa71d632056c7..0ebd86db82b8b4e6bf7aa418aa42045b4db8dc2c 100644
--- a/wmake/rules/linuxARM64Arm/c++
+++ b/wmake/rules/linuxARM64Arm/c++
@@ -3,7 +3,7 @@ include $(GENERAL_RULES)/Clang/c++
 
 CC          = armclang++ -std=c++11
 
-c++ARCH     = -mcpu=native
+c++ARCH     = -mcpu=native -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linuxARM64Clang/c++ b/wmake/rules/linuxARM64Clang/c++
index 7cd04dbbaac4b22afef1970ea76cf75ca2dc0667..60cd5ac10c7ac7d0a8ad4d58b03e4b0871a89029 100644
--- a/wmake/rules/linuxARM64Clang/c++
+++ b/wmake/rules/linuxARM64Clang/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Clang/c++
 
-c++ARCH     =
+c++ARCH     = -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linuxARM64Gcc/c++ b/wmake/rules/linuxARM64Gcc/c++
index 1058e80ba78287ae05336279b77ce9359d56995c..c6f48bf7438d004f771168a69ec1b3ae8fb5e42a 100644
--- a/wmake/rules/linuxARM64Gcc/c++
+++ b/wmake/rules/linuxARM64Gcc/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Gcc/c++
 
-c++ARCH     =
+c++ARCH     = -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linuxARM7Gcc/c++ b/wmake/rules/linuxARM7Gcc/c++
index 93b708920892f178f52c9b6ccb47a44fba68092e..4701ec84a980892bef444fe8d189702770ac16c6 100644
--- a/wmake/rules/linuxARM7Gcc/c++
+++ b/wmake/rules/linuxARM7Gcc/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Gcc/c++
 
-c++ARCH     = -mcpu=cortex-a9
+c++ARCH     = -mcpu=cortex-a9 -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linuxClang/c++ b/wmake/rules/linuxClang/c++
index 19b5fa154adc086df01fb138312c9c909c059dc3..4aafed6d7589cd5ec8f3f0ddbb06e644239a0557 100644
--- a/wmake/rules/linuxClang/c++
+++ b/wmake/rules/linuxClang/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Clang/c++
 
-c++ARCH     = -m32
+c++ARCH     = -m32 -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linuxGcc/c++ b/wmake/rules/linuxGcc/c++
index e136864805fafc3496164217ee2362ea23e0c026..6708d1656d1b94df3e8120e23a4012f35abc3484 100644
--- a/wmake/rules/linuxGcc/c++
+++ b/wmake/rules/linuxGcc/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Gcc/c++
 
-c++ARCH     = -m32
+c++ARCH     = -m32 -pthread
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)
 
diff --git a/wmake/rules/linuxIcc/c++ b/wmake/rules/linuxIcc/c++
index 21784c73761c87b19a781ca1b4536a3698f9b934..ae00df7bb28d5f42293972c30446df628f28c31a 100644
--- a/wmake/rules/linuxIcc/c++
+++ b/wmake/rules/linuxIcc/c++
@@ -1,6 +1,6 @@
 include $(GENERAL_RULES)/Icc/c++
 
-c++ARCH     = -fp-trap=common -fp-model precise
+c++ARCH     = -pthread -fp-trap=common -fp-model precise
 
 include $(DEFAULT_RULES)/c++$(WM_COMPILE_OPTION)