Reputation: 2980
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?
No issues with the framework. I just had to add libiconv.dylib in Build Phases -> Link binary with libraries. No linker errors after that!
Upvotes: 10
Views: 2690
Reputation: 131
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
Upvotes: 0
Reputation: 2980
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!
Upvotes: 13
Reputation: 1154
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
.
Upvotes: 0