in reply to undefined symbols at *runtime*
This is expected behaviour - at least on unix, but I assume the same thing happens on windows - when you're using shared libraries, since the references to symbols in libraries you're using are resolved when linking, and shared libraries are linked at run time (on unix - using the dlopen() function, which is often handled automatically but you can load library files and look up their symbols "by hand" too, if you need to).
I.e. loading a library/program that uses another shared library causes the other library to be loaded and linked recursively, at the moment the library is actually opened.
That's done because otherwise you would have to recompile all referring programs when you update a shared library.
|
|---|