Linking static library for android

How would I go about the same linking as in

if I want my game to work on more platforms, like Android?

I want to link a third party library that has .lib, .dll files for windows, but also has .a, .so files (unix32, unix64 versions), and the headers. The lib and the headers were needed for Win, so I tried to load the .so instead of the .lib for android (Target.Platform == UnrealTargetPlatform.Android) in the Build.cs file, but it didn’t work. I guess it’s more complicated than just having another if, as in the tutorial for win. When compiling, the output says for the .so: incompatible target and then a lot of undefined references for functions I used successfully on Win.

Any ideas?

You want to use a .a with Android, not a .so. I wouldn’t go messing with dynamic libs on Android if you have a static version right there :slight_smile:

I get the same errors when I try the .a file (incompatible target, and the undefined references). For android I think 32 bit version is needed, but I tried both versions (32 and 64 bit), and neither worked

Hi, did you ever find a solution to this problem?

I’m not sure, it was a long time ago. I think I actually wanted to bundle some of my own classes into a library and link that (to avoid recompiling and seeing unnecessary classes in the project), and so to work around the problem I just copied my classes with source inside the project. This can be done as well with third party libraries if the source is available.
When the source is not available, I don’t know if this is still an issue in the latest UE version, or if it was some error on my part