I’m working to release Linux versions of my plugins (already have Windows and Mac out there). All the code works perfectly (big ups Juce team for that cross-platform magic!) but I can’t figure out how to strip the symbols from the VST. Standalone works with the usual ‘strip -x’ afterwards.
I’m guessing it’s because I’m using the ‘Audio Project’ template in the Projucer and it puts everything in the shared static library first. To strip on Mac with this same setup I had to change a few XCode settings (listed below) but I’m not sure how to do this with the Linux make file.
I should also add I’m on Juce 5.4.4 but happy to update if more work has been done on the project settings.
The XCode settings I use for stripped audio plugin symbols:
What symbols are you trying to strip that aren’t being stripped by either the Xcode project on macOS or with the strip -x command on Linux? If I nm -gU the release build libAudioPluginDemo.a on macOS then I only see the exported JUCE symbols, not local ones.
Ok I’ve looked into it more and it all seems a bit strange.
In my project after doing an Xcode Release build (now on latest Juce, no changes from generated Projucer project other than adding all my files) I can still see basically everything. References to my cpp files, my method names, variable etc. This (plus wanting DSYM files) is why I had to change all my settings before.
But… If I start a new Plugin template project in the Producer and add a test class then none of the test stuff shows up as symbols. (just like you describe)
I’m still looking into what changes might be causing this. Perhaps if I get the macOS version right the Linux one will also be ok.
@mibix I’m still having trouble here although I had to park it and move onto other things for a while. A bare-bones juce project seemed to work but my big app (based on the same bare-bones juce project) still doesn’t strip things properly. I’m working on this again for a few days and will post any progress.