Isn't that what I was saying??? Basically if your INTERFACE (which according to the docs should abstract) DOES IMPLEMENT some methods it may be necessary to create such an intermediary shared library with all the symbols that are used by both the app and plugins. Otherwise the headers are enough and that's the way suggested by the docs because it obviously make things MUCH simpler...
Designer does not have any problem because, as I've said already it is a wrapper app around several libraries (namely QtDesigner and QtDesignerComponents) and plugins.
Bookmarks