To update this with my attempts at workarounds - I've made what seems like some progress by:
Adding a Framework target to the audio unit project
Moving all sources to be compiled as part of that, and moving the library dependencies there
Adding a custom module map that includes all of the library headers (requires including a copy of the header files in my project [!] - no idea if it will link at runtime, but usages of the libraries are no longer errors)
Setting the framework project's custom module map to that
Since the original Audio Unit template makes liberal use of .h files, and these are verboten in a Framework without a module map, all of those have to be added as well (I suspect adding a bunch of stuff that has no business in the public API of my plugin into it) - I tried the private module map option, which did not work.
The result: The usages of my libraries are no longer errors. But imports from the C++ standard library now are - e.g.
#import <span> now results in 'span' file not found.
My god, what a mess this is, and why in the world is the Xcode template set up to make it as difficult as possible to turn the code it generates into something production-worthy?
Topic:
Media Technologies
SubTopic:
Audio
Tags: