nokhwa icon indicating copy to clipboard operation
nokhwa copied to clipboard

missing linkage to CoreVideo framework

Open jbg opened this issue 1 year ago • 0 comments

in Cargo.toml:

nokhwa = {
  version = "0.9", optional = true, default-features = false, features = [
    "decoding", "flume", "input-v4l", "input-msmf", "input-avfoundation", "output-threaded"
  ]
}

when running cargo build:

  = note: Undefined symbols for architecture arm64:
            "_CVPixelBufferLockBaseAddress", referenced from:
                _$LT$nokhwa_bindings_macos..avfoundation..CALLBACK_CLASS$u20$as$u20$core..ops..deref..Deref$GT$::deref::__static_ref_initialize::capture_out_callback::h96ec85fdab100000 in libnokhwa_bindings_macos-0e9400fda68c51e0.rlib(nokhwa_bindings_macos-0e9400fda68c51e0.nokhwa_bindings_macos.0da1d717-cgu.1.rcgu.o)
            "_CVPixelBufferGetPixelFormatType", referenced from:
                _$LT$nokhwa_bindings_macos..avfoundation..CALLBACK_CLASS$u20$as$u20$core..ops..deref..Deref$GT$::deref::__static_ref_initialize::capture_out_callback::h96ec85fdab100000 in libnokhwa_bindings_macos-0e9400fda68c51e0.rlib(nokhwa_bindings_macos-0e9400fda68c51e0.nokhwa_bindings_macos.0da1d717-cgu.1.rcgu.o)
            "_CVPixelBufferGetBaseAddress", referenced from:
                _$LT$nokhwa_bindings_macos..avfoundation..CALLBACK_CLASS$u20$as$u20$core..ops..deref..Deref$GT$::deref::__static_ref_initialize::capture_out_callback::h96ec85fdab100000 in libnokhwa_bindings_macos-0e9400fda68c51e0.rlib(nokhwa_bindings_macos-0e9400fda68c51e0.nokhwa_bindings_macos.0da1d717-cgu.1.rcgu.o)
            "_CVPixelBufferGetDataSize", referenced from:
                _$LT$nokhwa_bindings_macos..avfoundation..CALLBACK_CLASS$u20$as$u20$core..ops..deref..Deref$GT$::deref::__static_ref_initialize::capture_out_callback::h96ec85fdab100000 in libnokhwa_bindings_macos-0e9400fda68c51e0.rlib(nokhwa_bindings_macos-0e9400fda68c51e0.nokhwa_bindings_macos.0da1d717-cgu.1.rcgu.o)
            "_CVPixelBufferUnlockBaseAddress", referenced from:
                _$LT$nokhwa_bindings_macos..avfoundation..CALLBACK_CLASS$u20$as$u20$core..ops..deref..Deref$GT$::deref::__static_ref_initialize::capture_out_callback::h96ec85fdab100000 in libnokhwa_bindings_macos-0e9400fda68c51e0.rlib(nokhwa_bindings_macos-0e9400fda68c51e0.nokhwa_bindings_macos.0da1d717-cgu.1.rcgu.o)
          ld: symbol(s) not found for architecture arm64
          clang-11: error: linker command failed with exit code 1 (use -v to see invocation)

I think the fix would just be to add to nokhwa-bindings-macos/build.rs:

println!("cargo:rustc-link-lib=framework=CoreVideo");

jbg avatar Aug 25 '22 07:08 jbg