Probably this is a common question. In fact I think I asked it years ago… but I can’t remember the answer.
The problem is: I have a project that is composed of 6 source files. All of them no more than 200 lines of code. It uses many STL containers, stdlib.h and iostream. Now the executable is around 800kb in size…. I guess I shouldn’t statically link libraries. How to do this with GCC? And in Eclipse CDT?
EDIT:
As I responses away from what I want I think it’s the case for a clarification. What I want to know is why such a small program is so big in size and what is the relationship with static, shared libraries and their difference. If it’s a too long story to tell feel free to give pointers to docs. Thank you
If you give g++ dynamic library names, and don’t pass the
-staticflag, it should link dynamically.To reduce size, you could of course
stripthe binary, and pass the-Os(optimize for size) optimization flag tog++.