diff --git a/compiler/cpp/src/generate/t_erl_generator.cc b/compiler/cpp/src/generate/t_erl_generator.cc
index 69c6335..ea4d30f 100644
--- a/compiler/cpp/src/generate/t_erl_generator.cc
+++ b/compiler/cpp/src/generate/t_erl_generator.cc
@@ -28,6 +28,7 @@
 #include <sstream>
 #include "t_generator.h"
 #include "platform.h"
+#include "version.h"
 
 using namespace std;
 
@@ -252,7 +253,7 @@
 string t_erl_generator::erl_autogen_comment() {
   return
     std::string("%%\n") +
-    "%% Autogenerated by Thrift\n" +
+    "%% Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" +
     "%%\n" +
     "%% DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" +
     "%%\n";
diff --git a/compiler/cpp/src/generate/t_go_generator.cc b/compiler/cpp/src/generate/t_go_generator.cc
index af40e53..f7bfe75 100644
--- a/compiler/cpp/src/generate/t_go_generator.cc
+++ b/compiler/cpp/src/generate/t_go_generator.cc
@@ -29,6 +29,8 @@
 #include <algorithm>
 #include "t_generator.h"
 #include "platform.h"
+#include "version.h"
+
 using namespace std;
 
 
@@ -374,7 +376,8 @@
  */
 string t_go_generator::go_autogen_comment() {
   return
-    "/* Autogenerated by Thrift\n"
+    std::string() +
+	"/* Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n"
     " *\n"
     " * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n"
     " */\n";
diff --git a/compiler/cpp/src/generate/t_hs_generator.cc b/compiler/cpp/src/generate/t_hs_generator.cc
index fcc055a..9fd1686 100644
--- a/compiler/cpp/src/generate/t_hs_generator.cc
+++ b/compiler/cpp/src/generate/t_hs_generator.cc
@@ -29,6 +29,7 @@
 
 #include "t_oop_generator.h"
 #include "platform.h"
+#include "version.h"
 
 using namespace std;
 
@@ -222,7 +223,7 @@
  */
 string t_hs_generator::hs_autogen_comment() {
   return string("-----------------------------------------------------------------\n") +
-                "-- Autogenerated by Thrift                                     --\n" +
+                "-- Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")                      --\n" +
                 "--                                                             --\n" +
                 "-- DO NOT EDIT UNLESS YOU ARE SURE YOU KNOW WHAT YOU ARE DOING --\n" +
                 "-----------------------------------------------------------------\n";
diff --git a/compiler/cpp/src/generate/t_js_generator.cc b/compiler/cpp/src/generate/t_js_generator.cc
index fa06b05..7059765 100644
--- a/compiler/cpp/src/generate/t_js_generator.cc
+++ b/compiler/cpp/src/generate/t_js_generator.cc
@@ -27,6 +27,8 @@
 #include <sys/stat.h>
 #include <sstream>
 #include "platform.h"
+#include "version.h"
+
 using namespace std;
 
 
@@ -169,7 +171,7 @@
   std::string autogen_comment() {
     return
       std::string("//\n") +
-      "// Autogenerated by Thrift\n" +
+      "// Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" +
       "//\n" +
       "// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" +
       "//\n";
diff --git a/compiler/cpp/src/generate/t_ocaml_generator.cc b/compiler/cpp/src/generate/t_ocaml_generator.cc
index 0b9bfb7..39ddb82 100644
--- a/compiler/cpp/src/generate/t_ocaml_generator.cc
+++ b/compiler/cpp/src/generate/t_ocaml_generator.cc
@@ -28,6 +28,8 @@
 #include <sstream>
 #include "t_oop_generator.h"
 #include "platform.h"
+#include "version.h"
+
 using namespace std;
 
 
@@ -267,7 +269,7 @@
 string t_ocaml_generator::ocaml_autogen_comment() {
   return
     std::string("(*\n") +
-    " Autogenerated by Thrift\n" +
+    " Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" +
     "\n" +
     " DO NOT EDIT UNLESS YOU ARE SURE YOU KNOW WHAT YOU ARE DOING\n" +
     "*)\n";
diff --git a/compiler/cpp/src/generate/t_oop_generator.h b/compiler/cpp/src/generate/t_oop_generator.h
index bf75786..5530af1 100644
--- a/compiler/cpp/src/generate/t_oop_generator.h
+++ b/compiler/cpp/src/generate/t_oop_generator.h
@@ -25,6 +25,7 @@
 
 #include "globals.h"
 #include "t_generator.h"
+#include "version.h"
 
 #include <algorithm>
 
@@ -66,7 +67,7 @@
   virtual std::string autogen_comment() {
     return
       std::string("/**\n") +
-      " * Autogenerated by Thrift\n" +
+      " * Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" +
       " *\n" +
       " * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" +
       " */\n";
diff --git a/compiler/cpp/src/generate/t_perl_generator.cc b/compiler/cpp/src/generate/t_perl_generator.cc
index e1796dc..7fdad33 100644
--- a/compiler/cpp/src/generate/t_perl_generator.cc
+++ b/compiler/cpp/src/generate/t_perl_generator.cc
@@ -28,6 +28,8 @@
 #include <sstream>
 #include "t_oop_generator.h"
 #include "platform.h"
+#include "version.h"
+
 using namespace std;
 
 
@@ -158,7 +160,7 @@
   std::string autogen_comment() {
     return
       std::string("#\n") +
-      "# Autogenerated by Thrift\n" +
+      "# Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" +
       "#\n" +
       "# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" +
       "#\n";
diff --git a/compiler/cpp/src/generate/t_py_generator.cc b/compiler/cpp/src/generate/t_py_generator.cc
index dbeed5d..234408c 100644
--- a/compiler/cpp/src/generate/t_py_generator.cc
+++ b/compiler/cpp/src/generate/t_py_generator.cc
@@ -29,6 +29,8 @@
 #include <algorithm>
 #include "t_generator.h"
 #include "platform.h"
+#include "version.h"
+
 using namespace std;
 
 
@@ -338,7 +340,7 @@
 string t_py_generator::py_autogen_comment() {
   return
     std::string("#\n") +
-    "# Autogenerated by Thrift\n" +
+    "# Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" +
     "#\n" +
     "# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" +
     "#\n";
diff --git a/compiler/cpp/src/generate/t_rb_generator.cc b/compiler/cpp/src/generate/t_rb_generator.cc
index c9db29a..8ae4405 100644
--- a/compiler/cpp/src/generate/t_rb_generator.cc
+++ b/compiler/cpp/src/generate/t_rb_generator.cc
@@ -34,6 +34,8 @@
 
 #include "t_oop_generator.h"
 #include "platform.h"
+#include "version.h"
+
 using namespace std;
 
 
@@ -262,7 +264,7 @@
 string t_rb_generator::rb_autogen_comment() {
   return
     std::string("#\n") +
-    "# Autogenerated by Thrift\n" +
+    "# Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" +
     "#\n" +
     "# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" +
     "#\n";
diff --git a/compiler/cpp/src/generate/t_st_generator.cc b/compiler/cpp/src/generate/t_st_generator.cc
index 6ca3701..18e8a3b 100644
--- a/compiler/cpp/src/generate/t_st_generator.cc
+++ b/compiler/cpp/src/generate/t_st_generator.cc
@@ -34,6 +34,8 @@
 
 #include "platform.h"
 #include "t_oop_generator.h"
+#include "version.h"
+
 using namespace std;
 
 
@@ -205,7 +207,7 @@
 string t_st_generator::st_autogen_comment() {
   return
     std::string("'") +
-    "Autogenerated by Thrift\n" +
+    "Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" +
     "\n" +
     "DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" +
     "'!\n";
