kewlbear / FFmpeg-iOS-build-script

Shell scripts to build FFmpeg for iOS and tvOS
3.03k stars 899 forks source link

Undefined symbols for architecture x86_64: #140

Closed dandingol03 closed 5 years ago

dandingol03 commented 5 years ago

xcode version:10.1 ffmpeg version:4.0.2 error:

Undefined symbols for architecture x86_64:
  "_kCVPixelBufferOpenGLESCompatibilityKey", referenced from:
      _videotoolbox_start in libavcodec.a(videotoolbox.o)
ld: symbol(s) not found for architecture x86_64

Hi, i am new to ffmpeg . Could anyone help me to solve this problem ,thanks~

kewlbear commented 5 years ago

Try linking with core video framework.

dandingol03 commented 5 years ago

hi~I have link the target with CoreVideo.framework.However i still get the same problem

kewlbear commented 5 years ago

Can you share your complete build command with the error message?

dandingol03 commented 5 years ago

here it is~

Ld /Users/wangjunjie/Library/Developer/Xcode/DerivedData/FFmpegTest-dxosjvtndyitmagwcnltcqgqsmyy/Build/Products/Debug/FFmpegTest normal x86_64 (in target: FFmpegTest)
    cd /Users/wangjunjie/OcProjects/FFmpegTest
    export MACOSX_DEPLOYMENT_TARGET=10.14
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -L/Users/wangjunjie/Library/Developer/Xcode/DerivedData/FFmpegTest-dxosjvtndyitmagwcnltcqgqsmyy/Build/Products/Debug -L/users/wangjunjie/AndroidStudioProjects/FFmpeg-iOS-build-script/FFmpeg-iOS/lib -L/usr/local/Cellar/libuv/1.26.0/lib -F/Users/wangjunjie/Library/Developer/Xcode/DerivedData/FFmpegTest-dxosjvtndyitmagwcnltcqgqsmyy/Build/Products/Debug -filelist /Users/wangjunjie/Library/Developer/Xcode/DerivedData/FFmpegTest-dxosjvtndyitmagwcnltcqgqsmyy/Build/Intermediates.noindex/FFmpegTest.build/Debug/FFmpegTest.build/Objects-normal/x86_64/FFmpegTest.LinkFileList -mmacosx-version-min=10.14 -Xlinker -object_path_lto -Xlinker /Users/wangjunjie/Library/Developer/Xcode/DerivedData/FFmpegTest-dxosjvtndyitmagwcnltcqgqsmyy/Build/Intermediates.noindex/FFmpegTest.build/Debug/FFmpegTest.build/Objects-normal/x86_64/FFmpegTest_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -framework CoreFoundation -lavcodec -lavdevice -lavfilter -lavformat -lavutil -lswresample -lswscale -framework GLKit -framework VideoDecodeAcceleration -framework CoreVideo -llzma -lz.1.2.5 -framework Security -liconv.2.4.0 -framework OpenAL -framework VideoToolbox -framework MediaToolbox -framework QuartzCore -framework OpenGL -framework CoreGraphics -lbz2.1.0 -framework AudioToolbox -framework CoreMedia -Xlinker -dependency_info -Xlinker /Users/wangjunjie/Library/Developer/Xcode/DerivedData/FFmpegTest-dxosjvtndyitmagwcnltcqgqsmyy/Build/Intermediates.noindex/FFmpegTest.build/Debug/FFmpegTest.build/Objects-normal/x86_64/FFmpegTest_dependency_info.dat -o /Users/wangjunjie/Library/Developer/Xcode/DerivedData/FFmpegTest-dxosjvtndyitmagwcnltcqgqsmyy/Build/Products/Debug/FFmpegTest

Undefined symbols for architecture x86_64:
  "_kCVPixelBufferOpenGLESCompatibilityKey", referenced from:
      _videotoolbox_start in libavcodec.a(videotoolbox.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
kewlbear commented 5 years ago

Are you building for macOS?

dandingol03 commented 5 years ago

maybe?i choose Command Line Tool when i choose a template for the project

kewlbear commented 5 years ago

In that case you should use another distribution of ffmpeg. I think you can use one from homebrew.

dandingol03 commented 5 years ago

thanks for your help, i will try it