How would I find out why my 64 bit VST plug-in (built with Juce 4.2.4, vst 2 SDK) won’t show up in any DAW on the Mac? 32 bit works fine.
I have another plug-in of same type that works, so it’s unlikely a Juce issue. Since the working plug-in is configured manually (outside my configuration framework), it is difficult to compare individual build settings. Tried for hours to no avail.
What’s the best way to dump and compare build settings and preprocessor defs?
Any idea what I should look for?
Any settings that can break things on 64 bit only?
You can try MrsWatson, had helped me before figure out my code signing certs got wrong, use it like mrswatson64 --verbose --plugin /Path/To/Plugin.vst --display-info
Thanks. MrsWatson looks promising. Any way to avoid homebrew and cmake? I am somewhat reluctant to adding even more tools to my dev machine, which is already complex enough to maintain. Do you have a current Xcode project file to share?
Today’s not my day. Just found it: Some VST-related files in the Juce Library Code group of the Xcode project weren’t ticked to be included with the build target! (Ouch)
I have several projects sharing Xcode configuration files and a common code base and plugin configuration files. Therefore I had to manually upgrade these projects that were originally built with Introjucer of Juce 3. Not ticking these files for inclusion was my own mistake.
Would be nice to have some warning if not at least one plug-in format is fully included, though.
Don’t think that’s possible. It’s kind of like writing a program but not compiling the file containing your main() function, that’s not something the other code could be expected to know about.
An extra build phase could check for the presence of certain symbols after linking, though. Admittedly however, that’s too much effort for such a rare case. Maybe integrating MrsWatson and auval as part of one’s automated build scripts is a better idea.
For a start, one could simply add a post build step to grep through the output of nm checking for the expected symbol, and give error if it’s not found
One could add all these checks in the projects generated by the Projucer, but then those checks would only trigger for manually maintained Xcode/etc project files, in which the build steps could be omitted just like the files… So I see nothing that JUCE could do for this…