diff --git a/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc b/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc
index be3bad1..3060863 100644
--- a/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_c_glib_generator.cc
@@ -4507,23 +4507,21 @@
  ***************************************/
 
 /**
- * Upper case a string.  Wraps boost's string utility.
+ * Upper case a string.
  */
 string to_upper_case(string name) {
   string s(name);
   std::transform(s.begin(), s.end(), s.begin(), ::toupper);
   return s;
-  //  return boost::to_upper_copy (name);
 }
 
 /**
- * Lower case a string.  Wraps boost's string utility.
+ * Lower case a string.
  */
 string to_lower_case(string name) {
   string s(name);
   std::transform(s.begin(), s.end(), s.begin(), ::tolower);
   return s;
-  //  return boost::to_lower_copy (name);
 }
 
 /**
diff --git a/compiler/cpp/src/thrift/generate/t_cl_generator.cc b/compiler/cpp/src/thrift/generate/t_cl_generator.cc
index 628d0d8..38807f4 100644
--- a/compiler/cpp/src/thrift/generate/t_cl_generator.cc
+++ b/compiler/cpp/src/thrift/generate/t_cl_generator.cc
@@ -26,7 +26,6 @@
 #include <vector>
 
 #include <stdlib.h>
-#include <boost/tokenizer.hpp>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <sstream>
@@ -35,6 +34,7 @@
 
 #include "thrift/platform.h"
 #include "t_oop_generator.h"
+
 using namespace std;
 
 
diff --git a/compiler/cpp/src/thrift/windows/config.h b/compiler/cpp/src/thrift/windows/config.h
index d2269cf..6ba4f9a 100644
--- a/compiler/cpp/src/thrift/windows/config.h
+++ b/compiler/cpp/src/thrift/windows/config.h
@@ -46,25 +46,6 @@
 // squelch bool conversion performance warning
 #pragma warning(disable : 4800)
 
-// MSVC10 (2010) or later has stdint.h
-#if _MSC_VER >= 1600
-#define HAVE_STDINT_H 1
-#endif
-
-// Must be using VS2010 or later, or boost, so that C99 types are defined in the global namespace
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
-#else
-#include <boost/cstdint.hpp>
-
-typedef boost::int64_t int64_t;
-typedef boost::uint64_t uint64_t;
-typedef boost::int32_t int32_t;
-typedef boost::uint32_t uint32_t;
-typedef boost::int16_t int16_t;
-typedef boost::uint16_t uint16_t;
-typedef boost::int8_t int8_t;
-typedef boost::uint8_t uint8_t;
-#endif
+#include <cstdint>
 
 #endif // _THRIFT_WINDOWS_CONFIG_H_
diff --git a/compiler/cpp/test/CMakeLists.txt b/compiler/cpp/test/CMakeLists.txt
index a09f23d..572b558 100644
--- a/compiler/cpp/test/CMakeLists.txt
+++ b/compiler/cpp/test/CMakeLists.txt
@@ -17,10 +17,13 @@
 # under the License.
 #
 
+# Unit tests for the compiler still require boost
+include(BoostMacros)
+REQUIRE_BOOST_HEADERS()
+set(BOOST_COMPONENTS unit_test_framework)
+REQUIRE_BOOST_LIBRARIES(BOOST_COMPONENTS)
 
 if(${WITH_PLUGIN})
-    include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
-
     # Make sure gen-cpp files can be included
     include_directories("${CMAKE_CURRENT_BINARY_DIR}")
 
