Hi all,
For a class project I made a sampler plugin, and it’s complete. However, I developed it on Mac, while my professor uses Linux. I wasn’t able to find any good tutorials on how to build for Linux. As well, my plugin uses OpenSSL, and I was wondering how I could link that to the installer. Thanks for any help!
Your best bet is to build the plugin directly on Linux. You could investigate using a virtual machine, or a cloud service like Github Actions, to build the plugin. It’s a good idea to find out whether your teacher is using x86_64 or some other platform, so that you can make sure to build for the right architecture.
If your teacher is willing, it’s probably easiest to just provide them with the source code and some simple instructions to build it. This is the solution that’s most likely to result in a binary that actually runs on their machine.
Ah okay, thanks. I’m a total beginner when it comes to Linux so what are the steps required to build for Linux? I do know I have to make some sort of makefile but I’m not sure beyond that. As well, how do I link OpenSSL? Thanks and sorry for the simple questions!
Assuming you’re using Projucer, add a “linux makefile” exporter to your project, then save it.
Then, you’ll need access to a Linux machine, either using a virtual machine, or a dual-boot, or github actions etc.
After setting up the Linux machine, it may be missing some dependencies. Check the list in docs/Linux Dependencies.md and install anything you’re missing.
Clone or copy your entire project (jucer project, source files, all JUCE files) onto the Linux machine. Then, you can navigate to <project-dir>/Builds/LinuxMakefile in a terminal, then run make. This should build the entire project.
I can’t help here, I’ve not tried linking OpenSSL myself. If you’re lucky, maybe the project has a readme explaining how to build it on different platforms. Ideally, you should build OpenSSL as a static library.
What are you actually using OpenSSL for? I wonder whether you might be able to use functionality from JUCE instead, as this will be much easier to set up, especially on an unfamiliar platform.
Ah okay, I will investigate getting a dual-boot machine or Github Actions. Regarding OpenSSL, I’m encrypting the samples of a .wav using AES, which isn’t available in the juce_cryptography module.
