diff --git a/part2/gpc++0.5.2/Makefile.ini b/part2/gpc++0.5.2/Makefile.ini
index e5e874b..607bb7c 100644
--- a/part2/gpc++0.5.2/Makefile.ini
+++ b/part2/gpc++0.5.2/Makefile.ini
@@ -8,7 +8,7 @@ GPLIB		= ../lib
 GPLIBFILE = $(GPLIB)/libgp.a
 
 # Compiler flags.  Use -O to optimise
-OVERALLCPPFLAGS	= -g
+OVERALLCPPFLAGS	= -g -Wno-deprecated
 
 # Linker flags.
 OVERALLLDFLAGS	= 
diff --git a/part2/gpc++0.5.2/ant/ant.cc b/part2/gpc++0.5.2/ant/ant.cc
index dfe7149..2228461 100644
--- a/part2/gpc++0.5.2/ant/ant.cc
+++ b/part2/gpc++0.5.2/ant/ant.cc
@@ -38,7 +38,9 @@ WWW:    http://www.emk.e-technik.th-darmstadt/~thomasw
 
 #include <iostream.h>
 #include <fstream.h>
-#include <strstream.h>
+#include <backward/strstream>
+
+using namespace std;
 
 #include <stdlib.h>
 #include <new.h>    // For the new-handler
diff --git a/part2/gpc++0.5.2/include/gp.h b/part2/gpc++0.5.2/include/gp.h
index c58cca3..36cec8a 100644
--- a/part2/gpc++0.5.2/include/gp.h
+++ b/part2/gpc++0.5.2/include/gp.h
@@ -398,7 +398,7 @@ public:
   friend int operator == (GPGene& pg1, GPGene& pg2);
   virtual int compare (GPGene& g);
 
-  friend GP;
+  friend class GP;
 
   GPGene& operator = (GPGene& gpo) {
     GPExitSystem ("operator =", "Assignment operator not yet implemented"); 
@@ -462,7 +462,7 @@ public:
   void resolveNodeValues (GPAdfNodeSet& adfNs);
   virtual GPObject* createObject() { return new GP; }
 
-  friend GPPopulation;
+  friend class GPPopulation;
 
   GP& operator = (GP& gpo) {
     GPExitSystem ("operator =", "Assignment operator not yet implemented"); 
diff --git a/part2/gpc++0.5.2/lawn/lawn.cc b/part2/gpc++0.5.2/lawn/lawn.cc
index c0e751d..45041e7 100644
--- a/part2/gpc++0.5.2/lawn/lawn.cc
+++ b/part2/gpc++0.5.2/lawn/lawn.cc
@@ -76,7 +76,9 @@ better to decrease tree length or to mow all the grass.
 
 #include <iostream.h>
 #include <fstream.h>
-#include <strstream.h>
+#include <backward/strstream>
+
+using namespace std;
 
 #include <stdlib.h>
 #include <new.h>    // For the new-handler
diff --git a/part2/gpc++0.5.2/skeleton/skeleton.cc b/part2/gpc++0.5.2/skeleton/skeleton.cc
index aafd781..1c68e30 100644
--- a/part2/gpc++0.5.2/skeleton/skeleton.cc
+++ b/part2/gpc++0.5.2/skeleton/skeleton.cc
@@ -48,7 +48,9 @@ Fax:    (UK) 061 745 5999
 #include <stdlib.h>
 #include <new.h>
 #include <fstream.h>
-#include <strstream.h>
+#include <backward/strstream>
+
+using namespace std;
 
 #include "gp.h"
 #include "gpconfig.h"
diff --git a/part2/gpc++0.5.2/symbreg/symbreg.cc b/part2/gpc++0.5.2/symbreg/symbreg.cc
index 0ab313d..5c43fc7 100644
--- a/part2/gpc++0.5.2/symbreg/symbreg.cc
+++ b/part2/gpc++0.5.2/symbreg/symbreg.cc
@@ -36,7 +36,9 @@ WWW:    http://www.emk.e-technik.th-darmstadt/~thomasw
 
 #include <iostream.h>
 #include <fstream.h>
-#include <strstream.h>
+#include <backward/strstream>
+
+using namespace std;
 
 #include <stdlib.h>
 #include <new.h>    // For the new-handler
