Hi,
First, great job with the interop - I develop apps on iOs and Android and use c++ for a lot of common code, so I nearly fell off my chair when I saw the progress on this.
I've created a new app to try it out, and so far it is working really well, except I've just hit a problem when I try to build/run my app in release rather than debug.
I'm using XCode15, using a modulemap for my c++ lib, inerop enabled for the target (release and debug). Building and running in debug works great. When I switch to release, I get swift compile errors doing the equivalent of this:
var cppStr = std.string()
// ...Some code to populate the cppStr
var swiftStr = String(cppStr)
The swift compiler errors start with:
no exact matches in call to initializer
note: found candidate with type '(std.string) -> String' (aka '(std.__1.basic_string<CChar, char_traits, allocator>) -> String')
Looking at the compiler call, I can see -cxx-interoperability-mode\=default
being passed as a parameters (same as in debug builds), which seems like it should work fine.
It is like the compiler is not finding the String extension in CxxStdlib, but I have no idea how to fix it. Does anyone have any ideas?