I asked a similar question a few days ago on the ubuntu forum, but the responders have not been able to help me. I ask the question in this forum because it may be far more specific to software development than ubuntu. Sorry for this duplication.
We are developing a multiplatform 3D game/graphics/simulation application that adopts OpenGL for graphics but otherwise only calls functions in standard C function libraries. We've been developing on 32-bit ubuntu 8.04 until last week when we decided it was time to create a 64-bit version to take advantage of the extra CPU/SIMD registers and efficiencies available only in 64-bit mode. So we installed the 64-bit version of ubuntu 9.04 on our computers and tried to build the 32-bit debug version of our program in CodeBlocks (which is the development environment we've been working with). The only change we made to the project settings on the 32-bit debug/release versions was to add -m32 to force the tools to compile/assemble/link 32-bit mode code and libraries.
The current problem is, an attempt to build generates the following error (after apparently compiling all the source-code files without troubles):
ld cannot find -lstdc++
However, the following check indicates to me that these 32-bit libraries are installed in the correct directory.
ls -la libst*
lrwxrwxrwx 1 root root 18 2009-06-04 19:41 libstdc++.so.5 -> libstdc++.so.5.0.7
-rw-r--r-- 1 root root 737192 2008-05-09 23:18 libstdc++.so.5.0.7
lrwxrwxrwx 1 root root 19 2009-06-04 19:41 libstdc++.so.6 -> libstdc++.so.6.0.10
-rw-r--r-- 1 root root 950424 2009-03-16 18:03 libstdc++.so.6.0.10
I assume "stdc++" and "libstdc++" refer to the same package, right?
Our project settings don't explicitly include library stdc++ or libstdc++, but my source-code files do include some C standard libraries. I assume the build tools automatically include the stdc++ library. Correct?
I'm at a loss. This problem will probably appear obvious in retrospect --- once somebody explains what we're missing.