As you can see, the main problem is C99 standard, because some syntax features like constructor with default values or bool types not supported in C99. I explicitly set cxxLanguageStandard to .cxx11, but it doesn't works for me. I've no idea what I'm doing wrong, but looks like this is a problem of compiler.
C++ interoperability is currently disabled by default in Swift. Swift tries to import the headers as if they were Objective-C headers, and the syntax that you use is not valid in Objective-C. To actually enable C++ interoperability, you'll need to pass a compiler flag: -Xfrontend -enable-experimental-cxx-interop. You could do that with SwiftPM's unsafe flags mechanism: unsafeFlags(["-Xfrontend", "-enable-experimental-cxx-interop"]).
I would recommend using a nightly Swift toolchain when experimenting with C++ interop. The project is moving quickly, and you'll likely find issues in release toolchains that are already fixed in trunk.
That said, for Swift 5.6 the correct flag is enable-cxx-interop.