I have started to port my current project to Linux. I began yesterday by installing Ubuntu, Xmonad and configuring vim. I resumed today by installing Code::Blocks (I'll probably use cmake for project configuration once I have got it all to compile) and checking out the latest version of my project. I created a new static library, added all source files and hit build ... *boom*. The first few errors were simple to resolve, just a couple "#ifdef WIN32" but the later problems were a bit more interesting.
DataMap::const_iterator iter = ... // Expected ; after const_iterator
I tried the following but to now avail
std::map<std::string, DataPtr>::const_iterator iter = ...
I came up with the following working solution after a visiti to google
typedef typename DataMap::const_iterator DataMapConstIterator;
DataMapConstIterator iter = ...
A couple of compilation units passed successfully until we entered the magical land of GameMonkey. Got a gmConfig_p.h for gcc that solved most problems but there were some code that required the program to be compiled as 32 bit. So I added the "-m32" flag and got a fancy error message "gnu/stubs-32.h no such file or directory". "sudo apt-get install libc6-dev-i386" killed that one.
Getting the Ogre include files to compile did not prove to be much of a problem, just had to download a couple of files that were not included in the Win32 sdk.
There were only a couple of small errors after that, some include paths had case errors (Linux is case sensitive, Windows is not) and TinyXML required "TIXML_USE_STL" to be set. Everything compiled after that so now I will have to actually compile all dependencies so that the linker can get to work. But that will probably have to wait until after the weekend.