My experience is that the order of linking the Poco libraries is important when statically linked. Seems important Foundation to be the last one.
The order that works for me is:
- Util
- Net
- XML
- Foundation
- Yes, static linking order with gcc is important, and the internal dependencies between those libs must be taken into account. It is not just a POCO issue, but a general behavior in gcc static linking. In this case Util depends on XML (you can check it in the code), for example, and all libs depend on Foundation. Independent libs come first, and the requirements of those libs should be after them.
- Also there is PocoJSON which should be between Util and Net libraries.