- Home /
Linker error when creating a static iOS library that depends on another static library.
I've created a static library for iOS for an FFmpeg integration in Xcode. I've built the project including the .h files from the ffmpeg includes and this gave me a resulting .a file which I will call libMyPlugin.a for the sake of this discussion. I then placed libMyPlugin.a in the Plugins/iOS folder in my Unity project along with all of the .a files that my plugin needed to compile. This includes libavcodec.a, libavformat.a, etc.
When I make the Unity build everything works correctly and it gives me the Xcode project for iOS. The problem occurs when I try to build the generated Xcode project. Any reference to libav libraries in my plugin gives me a Linker Error for Undefined symbols.
Is there something I'm not doing correctly in the building of my plugin or the project?
Edit: Is it because I need to include the .h files for any of the .a files in the unity project? I figured this was only needed for building my .a. I should note that it seems to be able to access my .a just fine. It only has issues when it hits the code in my .a that references the other .a files.
Answer by stevethorne · Aug 05, 2014 at 12:35 PM
After including the header files for both the av libraries and my library everything works well. I also needed to include libz.dylib and libbz2.1.0.dylib because av relied on them. Now everything is working properly