> If you want to distribute your library as a binary object and a separate source-form interface/header today, you'll have to use a (wrapper) C API. Regardless of how "modern" the C++ code is.
Not really.
Those of us on Windows make use of COM, or since Windows 8, UWP components (formally known as WinRT).