bvibber / OGVKit

Ogg and WebM media playback for iOS
MIT License
216 stars 67 forks source link

Undefined symbols for architecture x86_64 #223

Closed babac87 closed 5 years ago

babac87 commented 5 years ago

Started getting this issue recently

Undefined symbols for architecture x86_64: "_vpx_codec_destroy", referenced from: -[OGVDecoderWebM dealloc] in OGVDecoderWebM.o "_vpx_codec_decode", referenced from: -[OGVDecoderWebM decodeFrame] in OGVDecoderWebM.o "_vpx_codec_get_frame", referenced from: -[OGVDecoderWebM decodeFrame] in OGVDecoderWebM.o "_vpx_codec_vp8_dx", referenced from: -[OGVDecoderWebM processBegin] in OGVDecoderWebM.o "_vpx_codec_vp9_dx", referenced from: -[OGVDecoderWebM processBegin] in OGVDecoderWebM.o "_vpx_codec_dec_init_ver", referenced from: -[OGVDecoderWebM processBegin] in OGVDecoderWebM.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Xcode v. 10.1

This issue displays when trying to build on simulator. Tried on device, I believe only architecture isn't x86_64, but it also fails.

Read this issue (similar to this one) VPX.framework and armv7 #129, but still couldn't resolve this.

AntonAlmosov commented 5 years ago

Have you found a solution to this issue?

babac87 commented 5 years ago

Unfortunatelly no 😞

Maareks27 commented 5 years ago

Try to set up Valid Architecture to armv7 and armv7s

bvibber commented 5 years ago

I'm not sure if this is from a CocoaPods change or an Xcode change, but it seems that the vendored frameworks VPX.framework and WebM.framework are not being set up properly to go into the OGVKit target.

As a workaround, find them (in the Pods project) and in the 'Targets' panel click 'OGVKit':

Screen Shot 2019-04-02 at 08 58 11
babac87 commented 5 years ago

Update pods -> build -> Build failed ⛔️ Linked VPX.framework to OGVKit (WebM isn't in my pods) -> build -> Success ✅

Thanks for the update 😊