I had a compilation error here for Poco::Mutex. BTW, I removed static f8_mutex _mutex by making it static in create_instance(). And I think if create_instance is in header file, that would not work.
Also, Win DLL build doesn't like to expose static variables, but ok for static functions. So I'll be probably replacing them when trying to build Win DLL.