iosLearner
iosLearner

Reputation: 1331

Compiling error in GStreamer with ios 7+

I am using GStreamer.framework (binary 1.4.5) downloaded here

I can able to run in deployment target iOS 6.0 but when I am trying to run in iOS 7.0, I am getting the linking error.

The following is the errors I received:

Undefined symbols for architecture armv7:
  "_gst_bus_async_signal_func", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "__gst_fraction_type", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "__gst_debug_min", referenced from:
      -[GStreamerBackend dealloc] in GStreamerBackend.o
      -[GStreamerBackend capture] in GStreamerBackend.o
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
      -[GStreamerBackend check_initialization_complete] in GStreamerBackend.o
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_message_parse_state_changed", referenced from:
      _state_changed_cb in GStreamerBackend.o
  "_g_clear_error", referenced from:
      _error_cb in GStreamerBackend.o
  "_gst_message_parse_error", referenced from:
      _error_cb in GStreamerBackend.o
  "_gst_element_get_bus", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_g_free", referenced from:
      _error_cb in GStreamerBackend.o
      _state_changed_cb in GStreamerBackend.o
  "_gst_pipeline_new", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_g_logv", referenced from:
      _g_warning in GStreamerBackend.o
  "_g_main_context_push_thread_default", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_element_factory_make", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_element_link_many", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_sample_get_caps", referenced from:
      -[GStreamerBackend capture] in GStreamerBackend.o
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
  "_gst_bin_get_type", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_object_unref", referenced from:
      -[GStreamerBackend dealloc] in GStreamerBackend.o
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_g_source_set_callback", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_g_main_loop_new", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_video_overlay_get_type", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_g_source_attach", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_g_signal_connect_data", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_g_main_loop_run", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_g_strdup_printf", referenced from:
      _error_cb in GStreamerBackend.o
      _state_changed_cb in GStreamerBackend.o
  "_gst_bus_create_watch", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_sample_get_buffer", referenced from:
      -[GStreamerBackend capture] in GStreamerBackend.o
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
  "_g_main_context_unref", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_buffer_map", referenced from:
      -[GStreamerBackend capture] in GStreamerBackend.o
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
  "_gst_mini_object_unref", referenced from:
      _gst_sample_unref in GStreamerBackend.o
  "_g_print", referenced from:
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
  "_g_type_check_instance_cast", referenced from:
      -[GStreamerBackend capture] in GStreamerBackend.o
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
      -[GStreamerBackend app_function] in GStreamerBackend.o
      _state_changed_cb in GStreamerBackend.o
  "_gst_buffer_unmap", referenced from:
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
  "_gst_debug_set_threshold_for_name", referenced from:
      -[GStreamerBackend init:videoView:] in GStreamerBackend.o
  "_gst_debug_set_colored", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_element_state_get_name", referenced from:
      _state_changed_cb in GStreamerBackend.o
  "_gst_bin_add_many", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_g_object_get", referenced from:
      -[GStreamerBackend capture] in GStreamerBackend.o
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
  "_g_main_context_new", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_object_get_type", referenced from:
      _state_changed_cb in GStreamerBackend.o
  "_gst_structure_get_int", referenced from:
      -[GStreamerBackend capture] in GStreamerBackend.o
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
  "_gst_element_set_state", referenced from:
      -[GStreamerBackend dealloc] in GStreamerBackend.o
      -[GStreamerBackend play] in GStreamerBackend.o
      -[GStreamerBackend pause] in GStreamerBackend.o
      -[GStreamerBackend app_function] in GStreamerBackend.o
      _error_cb in GStreamerBackend.o
  "_gst_video_overlay_set_window_handle", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_debug_log", referenced from:
      -[GStreamerBackend dealloc] in GStreamerBackend.o
      -[GStreamerBackend capture] in GStreamerBackend.o
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
      -[GStreamerBackend check_initialization_complete] in GStreamerBackend.o
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_bin_get_by_interface", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_caps_get_structure", referenced from:
      -[GStreamerBackend capture] in GStreamerBackend.o
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
  "_gst_caps_to_string", referenced from:
      -[GStreamerBackend capture] in GStreamerBackend.o
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
  "_gst_video_convert_sample", referenced from:
      -[GStreamerBackend capture] in GStreamerBackend.o
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
  "_g_object_set", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_gst_caps_new_simple", referenced from:
      -[GStreamerBackend capture] in GStreamerBackend.o
      -[GStreamerBackend getFrame:] in GStreamerBackend.o
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "__gst_debug_category_new", referenced from:
      -[GStreamerBackend init:videoView:] in GStreamerBackend.o
  "_g_main_loop_unref", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_g_main_context_pop_thread_default", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
  "_g_source_unref", referenced from:
      -[GStreamerBackend app_function] in GStreamerBackend.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

How can I clear this error. I want to run this GStreamer in iOS 7+.

ADDITIONAL INFORMATION:

Libraries linked:

  1. GStreamer.framework (location:

~/Library/Developer/GStreamer/iPhone.sdk/)

  1. UIKit
  2. Foundation
  3. CoreGraphics
  4. GLKit
  5. OpenGLES
  6. VideoToolbox
  7. libiconv.dylib

Here is my Architecture settings: enter image description here

Here is my linking flags: enter image description here

Here is my framework and header paths: enter image description here

Upvotes: 4

Views: 648

Answers (1)

iosLearner
iosLearner

Reputation: 1331

Its Library version problem..

Added libiconv2.4.0.dylib instead of libiconv.dylib
and added libstdc++6.0.9.dylib instead of libstdc++.dylib

Now its working absolutely fine in ios7+

Thanks Happy Streaming :)

Upvotes: 1

Related Questions