A while a go, I tried to get the client code ported to irix. What I found out was that the code was not strict ansi c++ compliant (which MIPSPro requires). The biggest problem is the use of the statement:
using namespace std;
When you use this in multiple source files, you can run into name space collisions. Due to the namespace collision problems, ANSI made the change that you only use the namespaces required. What should be done is including only the namespace you are using for that source file. For example, if you are using cout and endl, you should use the following statements:
using std::cout;
using std::endl;
GCC decided to not enforce it by default. Since most programmers are used to 'using namespace std;' method, it still gets used.
Changing each source file to use only the namespaces that are used clears up quite a few problema, but not all. Life got in the way and I never got the port finished.