I try to use Gstreamer-1.0 in my Qt iOS project, so I set my .pro file as I described below:
INCLUDEPATH += /Users/user/Library/Developer/GStreamer/iPhone.sdk/GStreamer.framework/Headers LIBS += -F/Users/user/Library/Developer/GStreamer/iPhone.sdk -framework GStreamer But I get: error: symbol(s) not found for architecture x86_64 So, how can I configure my Qt iOS project for use Gstreamer? |
On Di, 2016-04-05 at 18:53 -0700, doon wrote:
> I try to use Gstreamer-1.0 in my Qt iOS project, so I set my .pro > file as I > described below: > > INCLUDEPATH += > /Users/user/Library/Developer/GStreamer/iPhone.sdk/GStreamer.framewor > k/Headers > LIBS += -F/Users/user/Library/Developer/GStreamer/iPhone.sdk > -framework > GStreamer > > But I get: > > error: symbol(s) not found for architecture x86_64 > > So, how can I configure my Qt iOS project for use Gstreamer? should tell you above which symbols are not found. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
Yes, of course. Compile output: Undefined symbols for architecture x86_64: "_iconv", referenced from: _g_iconv in GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) _g_convert_with_iconv in GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) _g_convert_with_fallback in GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) __nl_find_msg in GStreamer(libintl_a_x86_64_-dcigettext.o) (maybe you meant: _g_iconv_close, _g_iconv , _g_iconv_open , _g_convert_with_iconv ) "_iconv_close", referenced from: _g_iconv_close in GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) _g_convert in GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) _g_convert_with_fallback in GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) (maybe you meant: _g_iconv_close) "_iconv_open", referenced from: _try_conversion in GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) __nl_find_msg in GStreamer(libintl_a_x86_64_-dcigettext.o) (maybe you meant: _g_iconv_open) "_libiconv_set_relocation_prefix", referenced from: _libintl_set_relocation_prefix in GStreamer(libintl_a_x86_64_-relocatable.o) |
On Mi, 2016-04-06 at 05:06 -0700, doon wrote:
> Yes, of course. Compile output: > > Undefined symbols for architecture x86_64: > "_iconv", referenced from: > _g_iconv in GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la- > gconvert.o) > _g_convert_with_iconv in > GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) > _g_convert_with_fallback in > GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) > __nl_find_msg in GStreamer(libintl_a_x86_64_-dcigettext.o) > (maybe you meant: _g_iconv_close, _g_iconv , _g_iconv_open , > _g_convert_with_iconv ) > "_iconv_close", referenced from: > _g_iconv_close in > GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) > _g_convert in > GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) > _g_convert_with_fallback in > GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) > (maybe you meant: _g_iconv_close) > "_iconv_open", referenced from: > _try_conversion in > GStreamer(libglib-2_0_a_x86_64_-libglib_2_0_la-gconvert.o) > __nl_find_msg in GStreamer(libintl_a_x86_64_-dcigettext.o) > (maybe you meant: _g_iconv_open) > "_libiconv_set_relocation_prefix", referenced from: > _libintl_set_relocation_prefix in > GStreamer(libintl_a_x86_64_-relocatable.o) https://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/commit/?id=77b2656d6d661f422c0ddd1b4357f829a0ef9e5d -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
Yes, thanks, I already use linking with -liconv. Now I try to register some plugins for playback test but get an issue with this - I can't register any plugin. Code: GST_PLUGIN_STATIC_DECLARE(videotestsrc); GST_PLUGIN_STATIC_REGISTER(videotestsrc); Output: Undefined symbols for architecture x86_64: "gst_plugin_videotestsrc_register()", referenced from: MainWindow::play() in mainwindow.o ld: symbol(s) not found for architecture x86_64 Then I tried to link against another libraries(-lgstreamer-1.0 -lgstreamer -lvideotestsrc etc.) but linker said "library not found for %library name%". I also tried to find pkg-config but I can't open Libraries dir(http://i.stack.imgur.com/Voq6b.png). How can I register plugins? |
On Mi, 2016-04-06 at 15:49 -0700, doon wrote:
> Yes, thanks, I already use linking with -liconv. > Now I try to register some plugins for playback test but get an issue > with > this - I can't register any plugin. Code: > GST_PLUGIN_STATIC_DECLARE(videotestsrc); > GST_PLUGIN_STATIC_REGISTER(videotestsrc); > > Output: > Undefined symbols for architecture x86_64: > "gst_plugin_videotestsrc_register()", referenced from: > MainWindow::play() in mainwindow.o > ld: symbol(s) not found for architecture x86_64 https://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/tree/gst-sdk/tutorials/xcode%20iOS ? -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
Yes, I use -framework GStreamer. Your tutorials are works fine. I think the problem occurs due to libraries - I got the same issue with Gstreamer Android project, but after linking with some libraries all works ok. For this I need to open a Libraries dir, but how(because I have this: http://i.stack.imgur.com/Voq6b.png, reinstalling has not helped)? By the way, how can I use a Gstreamer pkg-config files for Android? I set PKG_CONFIG_PATH to "/home/user/Downloads/gstreamer-1.0-android-armv7-1.8.0/lib/pkgconfig", and project to: CONFIG += link_pkgconfig PKGCONFIG += gstreamer-1.0 But get: Project ERROR: gstreamer-1.0 development package not found. |
In reply to this post by Sebastian Dröge-3
Ok, I resolved previous problem by adding G_BEGIN_DECLS and G_END_DECLS, but I still don't know how to run a test pipelines: 1. On Android Code(video test): G_BEGIN_DECLS GST_PLUGIN_STATIC_DECLARE(coreelements); GST_PLUGIN_STATIC_DECLARE(videotestsrc); GST_PLUGIN_STATIC_DECLARE(playback); G_END_DECLS //... GST_PLUGIN_STATIC_REGISTER(coreelements); GST_PLUGIN_STATIC_REGISTER(videotestsrc); GST_PLUGIN_STATIC_REGISTER(playback); GstElement *pipeline; GError *error = NULL; pipeline = gst_parse_launch("videotestsrc ! autovideosink", &error); gst_element_set_state(pipeline, GST_STATE_PLAYING); Output(video test): descriptions.c:828: error: undefined reference to 'gst_audio_format_from_string' descriptions.c:832: error: undefined reference to 'gst_audio_format_get_info' ___________________________________________________________________________________________ Code(audio test): G_BEGIN_DECLS GST_PLUGIN_STATIC_DECLARE(coreelements); GST_PLUGIN_STATIC_DECLARE(audiotestsrc); GST_PLUGIN_STATIC_DECLARE(playback); G_END_DECLS //... GST_PLUGIN_STATIC_REGISTER(coreelements); GST_PLUGIN_STATIC_REGISTER(audiotestsrc); GST_PLUGIN_STATIC_REGISTER(playback); GstElement *pipeline; GError *error = NULL; pipeline = gst_parse_launch("audiotestsrc ! autoaudiosink", &error); if (!pipeline) { ui->label->setText("error"); return; } gst_element_set_state(pipeline, GST_STATE_PLAYING); ui->label->setText("Playing..."); Output(audio test): Label set to "Playing...", but I can't hear any sound(but your tutorial works fine). ___________________________________________________________________________________________ 2. On iOS: Code(video test): G_BEGIN_DECLS GST_PLUGIN_STATIC_DECLARE(coreelements); GST_PLUGIN_STATIC_DECLARE(videotestsrc); GST_PLUGIN_STATIC_DECLARE(videoconvert); GST_PLUGIN_STATIC_DECLARE(playback); G_END_DECLS //… GST_PLUGIN_STATIC_REGISTER(coreelements); GST_PLUGIN_STATIC_REGISTER(videotestsrc); GST_PLUGIN_STATIC_REGISTER(videoconvert); GST_PLUGIN_STATIC_REGISTER(playback); GstElement *pipeline, *video_sink; GError *error = NULL; pipeline = gst_parse_launch("videotestsrc ! videoconvert ! autovideosink", &error); gst_element_set_state(pipeline, GST_STATE_READY); video_sink = gst_bin_get_by_interface(GST_BIN(pipeline), GST_TYPE_VIDEO_OVERLAY); if (!video_sink) { GST_ERROR ("Could not retrieve video sink"); ui->label->setText("error"); return; } gst_video_overlay_set_window_handle(GST_VIDEO_OVERLAY(video_sink), this->ui->play_widget->winId()); gst_element_set_state(pipeline, GST_STATE_PLAYING); ui->label->setText("Playing..."); Output(video test): I just get an “error” string in the label without any Application Output and playback. |
Free forum by Nabble | Edit this page |