I'm working on an embedded project that currently uses C in Linux and uClibc. We're interested in moving it to C++, but I don't want the overhead associated with linking in libstdc++. My impression is that this is possible provided we don't use anything from STL, such as iostream or vector.
How does one direct g++ to compile without linking to libstdc++?
For the sake of completeness and correctness:
When you compile, use
g++ -c
to compile only. Then for linking, useld
instead ofg++
. This invokes the linker directly, which requires you to name all your libraries on the command line (including libc and libcrt), however.Alternatively, if you're using g++ as a "better c", you may be able to use
gcc
for your final link step (which will include libc automatically)You could use
But you cannot use all c++ features this way...