This problem ONLY happens when using polymorphic template classes
(ones that have virtual functions) and building libraries as DLLs.
There is no issue if we use static libraries, or non-polymorphic classes
or non-template classes.
"--export-all" option can be used to "extract" those symbols, but it is not
a ideal solution since other unwanted symbols also get exported.
Please see the attached test suite for more details.