I’ve follow multiple tutorials step by step in order to link Rubberband to my small project, but none of those tutorial is for Android build. And after several days, i did everything i could and currently stuck. I’ve got the static library build (.a) with meson, include it in the Projucer:
I was able to include the header in my code and access Rubberband’s components. However, when building the project, i got:
Any help even a small hint would be significant to me, thanks
Are you building the RubberBand static library into the correct ARM architecture?
@xenakios I don’t see it included in the compiling instruction:
I built it with meson like the instruction and it gave me several lib type which contains .a file
This error looks like either the static lib is busted and does not contain what it is supposed to contain or it is not built for arm but for x84_64. There are commands to check both traits (what symbols are in the lib – check if yours are actually missing and a command that checks what architecture is compiled). There are good tutorials for all possible OS on stack overflow or probably the kind of question you can ask ChatGPT how to get those infos out of the static_lib with your terminal of choice.
@Rincewind I inspected the lib and got this
It seems that this lib is build for x86
Ok, then either build rubber band for ARM or compile your app for x84 and use Rosetta in case you want to run it on Apple Silicon.
@Rincewind I’ve successfully built for ARM and i get 4 of them, now how do i include 4 of them all, since when i include one, the others will get error like this:
libtoinclude.a is incompatible with armelf_linux_eabi, the same if i switch to other files
Ok, not sure what four files you got. You need one .a file containing the symbols for ARM. You may merge the x84_64 and the ARM lib into another to have a universal library.
@Rincewind It seems that android library with multiple architectures can not be merged into a single file: Combine android static libraries with different ABIs
So i’m wondering if we’re able to achieve this with the Projucer