gcc 3.2 and virtual tables
The answer to the WhichBot Linux build being broken was indeed gcc 3.2. Apparently the vtbl layout changed between gcc 2.95 and 3.2.
Upgrading the build to gcc 3.2 and static linking against libsupc++ (to provide operator new and delete) did the trick.
I must confess I'm not 100% sure why you need to link against libsupc++ when building with gcc 3.2 but you don't with gcc 2.95. WhichBot uses a statically linked STLport as its C++ library for compatibility reasons - it's the easiest way to manage a cross-platform build that will work on all the different wacky systems people have out there.
Upgrading the build to gcc 3.2 and static linking against libsupc++ (to provide operator new and delete) did the trick.
I must confess I'm not 100% sure why you need to link against libsupc++ when building with gcc 3.2 but you don't with gcc 2.95. WhichBot uses a statically linked STLport as its C++ library for compatibility reasons - it's the easiest way to manage a cross-platform build that will work on all the different wacky systems people have out there.
Tags:
0 Comments:
Post a Comment
<< Home