10

I downloaded and installed Gstreamer iOS library from their site. I copied the tutorial to my own folder and tried to build the project in Xcode. I got the following linker error.

I'm geting no clues about this. The Gstreamer.framework is linked against all targets.

Undefined symbols for architecture armv7:
  "_iconv_open", referenced from:
      __nl_find_msg in GStreamer(libintl_a_armv7_-dcigettext.o)
     (maybe you meant: _g_iconv_open)
  "_iconv", referenced from:
      __nl_find_msg in GStreamer(libintl_a_armv7_-dcigettext.o)
     (maybe you meant: _iconv_canonicalize, _g_iconv_close , _g_convert_with_iconv , _g_iconv , _g_iconv_open )
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

What OBVIOUS thing am I missing here?

SOLUTION


No issues with the framework. I just had to add libiconv.dylib in Build Phases -> Link binary with libraries. No linker errors after that!

Tushar Koul
  • 2,830
  • 3
  • 31
  • 62

3 Answers3

13

FOUND IT!!!

No issues with the framework. I just had to add libiconv.dylib in Build Phases -> Link binary with libraries. No linker errors after that!

Tushar Koul
  • 2,830
  • 3
  • 31
  • 62
0

What you need to do is drag the library project into your project. Then in your project settings, goto Build Phases and under Target Dependencies add the library project as dependency. Then under Link Binary With Libraries (still in Build Phases), add the library's product (a .a file). Then rebuild.

In recent versions of Xcode, you don't even need to add it as a target dependency. It automatically detects dependencies between projects in the same workspace. You just need to add the .a file under Link Binary With Libraries.

Ahmed Mohammed
  • 1,134
  • 8
  • 10
  • but there is no "library project". From the installer page - **The SDK library is installed to ~/Library/Developer/GStreamer/iPhone.sdk. Inside this directory there is the GStreamer.framework that contains the libs, headers and resources.** – Tushar Koul Jul 18 '13 at 12:40
  • in that case, just add GStreamer.framework under 'Link Binary With Libraries'. – Ahmed Mohammed Jul 18 '13 at 12:52
  • Gstreamer.framework was already there...but it was in "red". I still added gstreamer.framework from the iPhone.sdk path. Still the same result. I have applied the framework for all targets – Tushar Koul Jul 18 '13 at 13:09
0

Update:

We found another developer who has hit the same issues and has made available modified tutorials to work around the overlay.h missing and a couple of other issues, if you are interested check this out:
https://github.com/braincorp/gstreamer_ios_tutorial

rsacchettini
  • 121
  • 5