OpenWatch / FFmpegWrapper

A lightweight Objective-C wrapper for some FFmpeg libav functions
Other
179 stars 54 forks source link

Undefined symbols in architecture x86_64/arm64 #25

Open ashutosh-samosa opened 6 years ago

ashutosh-samosa commented 6 years ago

Hello, I get this Linker Error while building for simulator or device.

Undefined symbols for architecture x86_64: "_OBJCCLASS$_FFBitstreamFilter", referenced from: objc-class-ref in libFFmpegWrapper.a(FFmpegWrapper.o) "_OBJCCLASS$_FFOutputFile", referenced from: objc-class-ref in libFFmpegWrapper.a(FFmpegWrapper.o) "_OBJCCLASS$_FFInputFile", referenced from: objc-class-ref in libFFmpegWrapper.a(FFmpegWrapper.o) "_OBJCCLASS$_FFOutputStream", referenced from: objc-class-ref in libFFmpegWrapper.a(FFmpegWrapper.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) I have added the following frameworks & libraries CoreMedia, VideoToolbox, libbz2, libbz, libiconv, libFFmpegWrapper.a

Please help.

commando24 commented 6 years ago

@ashutosh-samosa have you found the solution ?

commando24 commented 6 years ago

You need to set YES in build Active architecture setting. Everywhere in your project.

chienfuchen32 commented 6 years ago

@ashutosh-samosa hi, let xcode compile code by including all the ffmpegWrapper/*.m and .h files. extra libraries: AVFoundation, audioToolbox. it works for me.

xsown commented 6 years ago

@chienfuchen32 is right. In addition, remove the .pch file in the project. If your FFmpeg libs are grabbed with the latest version, there may be several compile errors to fix.