diff --git a/lib/cpp/src/transport/THttpClient.cpp b/lib/cpp/src/transport/THttpClient.cpp
index d783351..04864ce 100644
--- a/lib/cpp/src/transport/THttpClient.cpp
+++ b/lib/cpp/src/transport/THttpClient.cpp
@@ -43,7 +43,6 @@
   if (colon == NULL) {
     return;
   }
-  uint32_t sz = colon - header;
   char* value = colon+1;
 
   if (boost::istarts_with(header, "Transfer-Encoding")) {
diff --git a/test/cpp/Stress-test.mk b/test/cpp/Stress-test.mk
index 1a753b3..049bcb8 100644
--- a/test/cpp/Stress-test.mk
+++ b/test/cpp/Stress-test.mk
@@ -56,16 +56,16 @@
 	$(THRIFT) --gen cpp --gen php ../StressTest.thrift
 
 stress-test-debug-nb: stubs
-	g++ -o stress-test-nb $(DCFL) src/nb-main.cpp ./gen-cpp/Service.cpp gen-cpp/StressTest_types.cpp
+	$(CC) -o stress-test-nb $(DCFL) src/nb-main.cpp ./gen-cpp/Service.cpp gen-cpp/StressTest_types.cpp
 
 stress-test-nb: stubs
-	g++ -o stress-test-nb $(CFL) src/nb-main.cpp ./gen-cpp/Service.cpp gen-cpp/StressTest_types.cpp
+	$(CC) -o stress-test-nb $(CFL) src/nb-main.cpp ./gen-cpp/Service.cpp gen-cpp/StressTest_types.cpp
 
 stress-test-debug: stubs
-	g++ -o stress-test $(DCFL) src/main.cpp ./gen-cpp/Service.cpp gen-cpp/StressTest_types.cpp
+	$(CC) -o stress-test $(DCFL) src/main.cpp ./gen-cpp/Service.cpp gen-cpp/StressTest_types.cpp
 
 stress-test: stubs
-	g++ -o stress-test $(CFL) src/main.cpp ./gen-cpp/Service.cpp gen-cpp/StressTest_types.cpp
+	$(CC) -o stress-test $(CFL) src/main.cpp ./gen-cpp/Service.cpp gen-cpp/StressTest_types.cpp
 
 clean:
 	rm -fr stress-test stress-test-nb gen-cpp
diff --git a/test/cpp/Thrift-test.mk b/test/cpp/Thrift-test.mk
index 2e17e7e..6987e33 100644
--- a/test/cpp/Thrift-test.mk
+++ b/test/cpp/Thrift-test.mk
@@ -59,20 +59,20 @@
 	$(THRIFT) --gen cpp:templates ../ThriftTest.thrift
 
 server-debug: stubs
-	g++ -o TestServer $(DCFL) src/TestServer.cpp ./gen-cpp/ThriftTest.cpp ./gen-cpp/ThriftTest_types.cpp $(thrift_home)/lib/cpp/test/ThriftTest_extras.cpp
+	$(CC) -o TestServer $(DCFL) src/TestServer.cpp ./gen-cpp/ThriftTest.cpp ./gen-cpp/ThriftTest_types.cpp ./gen-cpp/ThriftTest_constants.cpp
 
 client-debug: stubs
-	g++ -o TestClient $(DCFL) src/TestClient.cpp ./gen-cpp/ThriftTest.cpp ./gen-cpp/ThriftTest_types.cpp $(thrift_home)/lib/cpp/test/ThriftTest_extras.cpp
+	$(CC) -o TestClient $(DCFL) src/TestClient.cpp ./gen-cpp/ThriftTest.cpp ./gen-cpp/ThriftTest_types.cpp ./gen-cpp/ThriftTest_constants.cpp
 
 server: stubs
-	g++ -o TestServer $(CFL) src/TestServer.cpp ./gen-cpp/ThriftTest.cpp ./gen-cpp/ThriftTest_types.cpp $(thrift_home)/lib/cpp/test/ThriftTest_extras.cpp
+	$(CC) -o TestServer $(CFL) src/TestServer.cpp ./gen-cpp/ThriftTest.cpp ./gen-cpp/ThriftTest_types.cpp ./gen-cpp/ThriftTest_constants.cpp
 
 client: stubs
-	g++ -o TestClient $(CFL) src/TestClient.cpp ./gen-cpp/ThriftTest.cpp ./gen-cpp/ThriftTest_types.cpp $(thrift_home)/lib/cpp/test/ThriftTest_extras.cpp
+	$(CC) -o TestClient $(CFL) src/TestClient.cpp ./gen-cpp/ThriftTest.cpp ./gen-cpp/ThriftTest_types.cpp ./gen-cpp/ThriftTest_constants.cpp
 
 small:
 	$(THRIFT) --gen cpp:templates ../SmallTest.thrift
-	g++ -c $(CCFL) ./gen-cpp/SmallService.cpp ./gen-cpp/SmallTest_types.cpp
+	$(CC) -c $(CCFL) ./gen-cpp/SmallService.cpp ./gen-cpp/SmallTest_types.cpp
 
 clean:
 	rm -fr *.o TestServer TestClient gen-cpp
diff --git a/test/cpp/src/TestClient.cpp b/test/cpp/src/TestClient.cpp
index 7e37e85..417a7a1 100644
--- a/test/cpp/src/TestClient.cpp
+++ b/test/cpp/src/TestClient.cpp
@@ -92,8 +92,6 @@
 
   shared_ptr<TBufferBase> transport;
 
-  shared_ptr<TSocket> socket(new TSocket(host, port));
-
   if (framed) {
     shared_ptr<TFramedTransport> framedSocket(new TFramedTransport(socket));
     transport = framedSocket;
diff --git a/test/cpp/src/TestServer.cpp b/test/cpp/src/TestServer.cpp
index 047dd33..8401647 100644
--- a/test/cpp/src/TestServer.cpp
+++ b/test/cpp/src/TestServer.cpp
@@ -25,6 +25,8 @@
 #include <server/TThreadPoolServer.h>
 #include <server/TNonblockingServer.h>
 #include <transport/TServerSocket.h>
+#include <transport/TSSLServerSocket.h>
+#include <transport/TSSLSocket.h>
 #include <transport/TTransportUtils.h>
 #include "ThriftTest.h"
 
diff --git a/test/cpp/src/main.cpp b/test/cpp/src/main.cpp
index c4124c3..0c91956 100644
--- a/test/cpp/src/main.cpp
+++ b/test/cpp/src/main.cpp
@@ -38,11 +38,7 @@
 #include <set>
 #include <stdexcept>
 #include <sstream>
-
 #include <map>
-#include <ext/hash_map>
-using __gnu_cxx::hash_map;
-using __gnu_cxx::hash;
 
 using namespace std;
 using namespace boost;
@@ -325,7 +321,7 @@
       workerCount = atoi(args["workers"].c_str());
     }
 
-  } catch(exception& e) {
+  } catch(std::exception& e) {
     cerr << e.what() << endl;
     cerr << usage;
   }
diff --git a/test/cpp/src/nb-main.cpp b/test/cpp/src/nb-main.cpp
index 6887e4e..7650d49 100644
--- a/test/cpp/src/nb-main.cpp
+++ b/test/cpp/src/nb-main.cpp
@@ -42,11 +42,7 @@
 #include <set>
 #include <stdexcept>
 #include <sstream>
-
 #include <map>
-#include <ext/hash_map>
-using __gnu_cxx::hash_map;
-using __gnu_cxx::hash;
 
 using namespace std;
 using namespace boost;
@@ -320,7 +316,7 @@
       workerCount = atoi(args["workers"].c_str());
     }
 
-  } catch(exception& e) {
+  } catch(std::exception& e) {
     cerr << e.what() << endl;
     cerr << usage;
   }
diff --git a/test/threads/Makefile b/test/threads/Makefile
index 14f1a58..df72396 100644
--- a/test/threads/Makefile
+++ b/test/threads/Makefile
@@ -54,10 +54,10 @@
 	$(THRIFT) --gen cpp --gen py ThreadsTest.thrift
 
 server: stubs
-	g++ -o ThreadsServer $(CFL) ThreadsServer.cpp ./gen-cpp/ThreadsTest.cpp ./gen-cpp/ThreadsTest_types.cpp
+	$(CC) -o ThreadsServer $(CFL) ThreadsServer.cpp ./gen-cpp/ThreadsTest.cpp ./gen-cpp/ThreadsTest_types.cpp
 
 client: stubs
-	g++ -o ThreadsClient $(CFL) ThreadsClient.cpp ./gen-cpp/ThreadsTest.cpp ./gen-cpp/ThreadsTest_types.cpp
+	$(CC) -o ThreadsClient $(CFL) ThreadsClient.cpp ./gen-cpp/ThreadsTest.cpp ./gen-cpp/ThreadsTest_types.cpp
 
 clean:
 	$(RM) -r *.o ThreadsServer ThreadsClient gen-cpp gen-py
