Hi,
I've recently built an ANE that includes a 3rd party framework and after packaging it inside an ANE I am getting these errors when trying to compile the ipa:
Undefined symbols for architecture arm64:
"_alDeleteSources", referenced from:
_fini_openal in R5Streaming(present_stream.o)
"_alcOpenDevice", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alGetError", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alcCloseDevice", referenced from:
_fini_openal in R5Streaming(present_stream.o)
"_alDeleteBuffers", referenced from:
_fini_openal in R5Streaming(present_stream.o)
"_alcCreateContext", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alcMakeContextCurrent", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alSourcef", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alSourceStop", referenced from:
_rebuffer_client in R5Streaming(present_stream.o)
"_alGenBuffers", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alGenSources", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alcDestroyContext", referenced from:
_fini_openal in R5Streaming(present_stream.o)
ld: symbol(s) not found for architecture arm64
Undefined symbols for architecture armv7:
"_alDeleteSources", referenced from:
_fini_openal in R5Streaming(present_stream.o)
"_alcOpenDevice", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alGetError", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alcCloseDevice", referenced from:
_fini_openal in R5Streaming(present_stream.o)
"_alDeleteBuffers", referenced from:
_fini_openal in R5Streaming(present_stream.o)
"_alcCreateContext", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alcMakeContextCurrent", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alSourcef", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alSourceStop", referenced from:
_rebuffer_client in R5Streaming(present_stream.o)
"_alGenBuffers", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alGenSources", referenced from:
_init_openal in R5Streaming(present_stream.o)
"_alcDestroyContext", referenced from:
_fini_openal in R5Streaming(present_stream.o)
I know that usually this means I am not linking the ANE to a required library during the packaging process using a platformoptions.xml, however in this case, each of the missing symbols is contained within the OpenAL framework which I am definitely including. I've also included a number of other libraries/frameworks required by the 3rd party library which include:
- CoreAudio
- QuartzCore
- iconv
- libz
- libbz2
- GLKit
- OpenGLES
- CoreGraphics
But I still get these errors when trying to compile the ipa using flash builder and at a loss for why they are happening.
My iOS code is being compiled with iOS SDK 9.2 and targeting 6.0, as targeting anything higher gives me other errors along the lines of "R5Streaming.framework has been compiled with a version of the SDK (8.0) higher than that being linked against (6.0)"
I'm using Air SDK 20 with flash builder 4.7 to compile the .ipa.
Thanks,
Adam