On the FunctionNotFoundException:
@Christian Schmitz – BINGO! (do they have “bingo” in Germany?)
Thanks, Christian – once I set both the Xojo project to 64-bit, and the .dylib to 64-bit, there was no issue. And, the Xcode build was making a64-bit only build as the “Debug” setting (“Active Architecture only”), instead of the combined 64-bit / 32-bit .dylib for “Release” build, which is why the 32-bit Xojo build failed.
This was a definite newbie mistake – in this case “newbie” being I’m not used to thinking about 64-bit after years of doing Carbon 32-bit development!
On Symbol Visibility:
[quote]Normally I would expect you need to mark functions to be exported and publicly available
[/quote]
Usually, for a dylib/dll I would create a #define like this:
#define EXPORT __attribute__((visibility("default")))
And then use the -fvisibility=hidden command line / Xcode option to hide everything else. The way, the EXPORT can be redefined for Windows DLL symbol visibility:
#define EXPORT __declspec(dllexport)
But I was so impatient to just see it work for a simple example that I didn’t flesh everything out.
I had best do a full-on test of the different intrinsic types, and test the C++ DLL with visible C symbols on the Visual Studio side. Maybe there’s a way to upload the resultant Xcode / Visual Studio projects (or makefiles), as well as Xojo project so someone else can just benefit – the kind of soup-to-nuts example I was asking about in my original posting.