No announcement yet.

Linking static library based on architecture (arm-7 and arm64)

  • Filter
  • Time
  • Show
Clear All
new posts

    Linking static library based on architecture (arm-7 and arm64)

    Hey everyone,

    Hopefully, I can get some help on this as I really can't seem to find a way to do this. So right now I have a plugin I published on the marketplace which uses a static library which I link inside the plugin's build.cs file. I have the static library compiled for arm-7 and arm-64, however, I can't seem to find a way to detect the two architectures inside the build.cs file. So if I link the two at the same time when I try packaging for one the other one will complain that it isn't supported

    Things I tried
    Target.Platform string returns simply Android whereas on Windows returns Win64 and Win32 making it easier to link the right file.

    Target.Architecture returns an empty string on all platforms so it's literally useless.

    I can see that on the forum "Chris Babcock" suggested to someone to use APL (this is back in 2014), however, in that instance, the person asking for help wanted to copy dynamic libraries that get linked at runtime.

    I have done literally as much reading on this as I could and went through possibly all the plugins that make any use of libraries in the engine source code and didn't find a single instance in which APL is used to specify the right architecture and then correctly link the right static library, it seems to be only used to copy dynamic libraries in the right folder so that they be linked at runtime.

    So the questions are
    Is there any way to detect whether we are building for arm7 or arm64 inside the build.cs so that I can link the correct library?
    Am I possibly doing this completely wrong and there is another way of doing it?
    Email Plugin - An easy to use plugin to send emails from one email address to another.