Symeon Mattes
Symeon Mattes

Reputation: 1268

Undefined symbols for architecture arm64 in GStreamer

I have included into my iOS project the GStreamer and some of the errors I receive are the following:

Undefined symbols for architecture arm64:
  "_kVTCompressionPropertyKey_Quality", referenced from:
      _gst_vtenc_set_quality in GStreamer(libgstapplemedia_a_arm64_-libgstapplemedia_la-vtenc.o)
  "_VTCompressionSessionInvalidate", referenced from:
      _gst_vtenc_destroy_session in GStreamer(libgstapplemedia_a_arm64_-libgstapplemedia_la-vtenc.o)
  "_kVTCompressionPropertyKey_NumberOfPendingFrames", referenced from:
      _gst_vtenc_handle_frame in GStreamer(libgstapplemedia_a_arm64_-libgstapplemedia_la-vtenc.o)
  "_VTSessionCopyProperty", referenced from:
      _gst_vtenc_handle_frame in GStreamer(libgstapplemedia_a_arm64_-libgstapplemedia_la-vtenc.o)
      _gst_vtenc_session_dump_property in GStreamer(libgstapplemedia_a_arm64_-libgstapplemedia_la-vtenc.o)
  "_kVTCompressionPropertyKey_ExpectedFrameRate", referenced from:
      _gst_vtenc_set_format in GStreamer(libgstapplemedia_a_arm64_-libgstapplemedia_la-vtenc.o)
  "_VTCompressionSessionCompleteFrames", referenced from:
      _gst_vtenc_finish in GStreamer(libgstapplemedia_a_arm64_-libgstapplemedia_la-vtenc.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

I have included in the building phase libraries such as:

GStreamer.framework
libiconv.tbd
libresolv.tbd
libstdc++.6.0.9.tbd

but I still get it. Any suggestions?

Upvotes: 2

Views: 1035

Answers (1)

Roman  Ermolov
Roman Ermolov

Reputation: 7908

You need to link your project with VideoToolbox.framework, because symbols from an error (VTCompressionSessionInvalidate, VTCompressionPropertyKey_Quality) are defined in it.

Upvotes: 4

Related Questions