Undefined Symbol Linker Error when Cross Compiling to Linux

Hello. I am getting the following error during the linking step when cross compiling to Linux from Windows on 5.1.1.

I am using GitHub - bitcoin-core/secp256k1: Optimized C library for EC operations on curve secp256k1 (written entirely in C) which compiles to static .a and .lib libraries. It works on Windows with .lib perfectly fine but fails on Linux with:

"level":"Error","message":"ld.lld: error: undefined symbol: secp256k1_ecdsa_recover","id":201,"line":28,"lineCount":38,"format":"ld.lld: error: undefined symbol: {symbol}","properties":{"symbol":{"$type":"Symbol","$text":"secp256k1_ecdsa_recover","identifier":"secp256k1_ecdsa_recover"}}}

This is for a free and open source Unreal Plugin. Feel free to try it out here GitHub - G7DAO/web3.unreal: Unreal Engine plugin for integrating EVM compatible blockchains into games.
The static libraries are here web3.unreal/Plugins/web3Unreal/Source/ThirdParty/lib at main · G7DAO/web3.unreal · GitHub.

Any help is much appreciated. Thanks!

The solution here was to recompile secp256k1 with the recover ecdsa signature module flag. i.e. my library didn’t have the symbol and the issue was not with unreal engine.