diff --git a/compiler/cpp/src/parse/t_field.h b/compiler/cpp/src/parse/t_field.h
index 4217a51..fb58ca7 100644
--- a/compiler/cpp/src/parse/t_field.h
+++ b/compiler/cpp/src/parse/t_field.h
@@ -21,7 +21,7 @@
 #define T_FIELD_H
 
 #include <string>
-#include <boost/lexical_cast.hpp>
+#include <sstream>
 
 #include "t_doc.h"
 
@@ -117,7 +117,9 @@
   // This is not the same function as t_type::get_fingerprint_material,
   // but it does the same thing.
   std::string get_fingerprint_material() const {
-    return boost::lexical_cast<std::string>(key_) + ":" +
+    std::ostringstream keystm;
+    keystm << key_;
+    return keystm.str() + ":" +
       ((req_ == T_OPTIONAL) ? "opt-" : "") +
       type_->get_fingerprint_material();
   }
diff --git a/compiler/cpp/src/parse/t_scope.h b/compiler/cpp/src/parse/t_scope.h
index 91ec312..cbb92cf 100644
--- a/compiler/cpp/src/parse/t_scope.h
+++ b/compiler/cpp/src/parse/t_scope.h
@@ -22,8 +22,8 @@
 
 #include <map>
 #include <string>
+#include <sstream>
 
-#include <boost/lexical_cast.hpp>
 #include "t_type.h"
 #include "t_service.h"
 #include "t_const.h"
@@ -157,7 +157,9 @@
       t_enum* tenum = (t_enum*)ttype;
       t_enum_value* enum_value = tenum->get_constant_by_value(const_val->get_integer());
       if (enum_value == NULL) {
-        throw "Couldn't find a named value in enum " + tenum->get_name() + " for value " + boost::lexical_cast<std::string>(const_val->get_integer());
+        std::ostringstream valstm;
+        valstm << const_val->get_integer();
+        throw "Couldn't find a named value in enum " + tenum->get_name() + " for value " + valstm.str();
       }
       const_val->set_identifier(enum_value->get_name());
       const_val->set_enum(tenum);
