GStreamer on Qt for iOS

Luis francesco.moscara at gmail.com
Thu May 13 09:18:49 UTC 2021


I'm trying to develop an iOS application (iPad should be the main target) for
controlling a device (Linux embedded) connected to the same network.

Basically it is a remote desktop application.

The application must be multi-platform, so it has be built within a
multi-platform framework. This requirement is fulfilled by developing the
app with **Qt** and **Qt Creator**.

The application should play a stream video stream transmitted over the
network from the Linux device. I use **GStreamer** for that. I already
downloaded and succesfully installed the iOS package from the official site
(https://gstreamer.freedesktop.org/documentation/installing/for-ios-development.html?gi-language=c.).

Now, I have some trouble linking the GStreamer framework in the .pro file.

In desktop environments (Windows, Linux and macOS) all I need to do is to
use pkg-config 

```
mac {
    QT_CONFIG -= no-pkg-config
    PKG_CONFIG = /usr/local/bin/pkg-config
}

CONFIG += link_pkgconfig
PKGCONFIG += gstreamer-1.0
PKGCONFIG += gstreamer-pbutils-1.0
```
and it works just fine. In iOS I don't have pkg-config (afik), so I manually
added the framework:

```
LIBS += -F$$PWD/../../Library/Developer/GStreamer/iPhone.sdk/ -framework
GStreamer

INCLUDEPATH +=
$$PWD/../../Library/Developer/GStreamer/iPhone.sdk/GStreamer.framework/Versions/1.0/Headers
DEPENDPATH +=
$$PWD/../../Library/Developer/GStreamer/iPhone.sdk/GStreamer.framework/Versions/1.0/Headers
```
When I try to build, it gives me this error:

```
GStreamer(libglib-2_0_a-gconvert.c.o):-1: error: Undefined symbols for
architecture x86_64:
  "___darwin_check_fd_set_overflow", referenced from:
      _gst_poll_wait in GStreamer(libgstreamer-1_0_a-gstpoll.c.o)
  "_iconv_close", referenced from:
      _g_convert in GStreamer(libglib-2_0_a-gconvert.c.o)
      _g_convert_with_fallback in GStreamer(libglib-2_0_a-gconvert.c.o)
     (maybe you meant: _g_iconv_close)
  "_iconv", referenced from:
      _g_convert_with_iconv in GStreamer(libglib-2_0_a-gconvert.c.o)
      _g_convert_with_fallback in GStreamer(libglib-2_0_a-gconvert.c.o)
     (maybe you meant: _g_iconv_close, _g_iconv , _g_iconv_open ,
_g_convert_with_iconv )
  "_iconv_open", referenced from:
      _try_conversion in GStreamer(libglib-2_0_a-gconvert.c.o)
     (maybe you meant: _g_iconv_open) 

```
Tried to link the apparently missing liconv, but no luck.

```
macx: LIBS +=
-L$$PWD/../../../../Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/
-liconv

INCLUDEPATH +=
$$PWD/../../../../Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr
DEPENDPATH +=
$$PWD/../../../../Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr

```

I'm aware of the existence of a similar question on nabble.com
(http://gstreamer-devel.966125.n4.nabble.com/Gstreamer-on-Qt-iOS-td4676773.html)
but I still couldn't figure out the problem.

Any thoughts?
Thanks

**Additional info**

* The application must be multi-platform, so it must be built in Qt Creator.
It already works on Windows, Linux and macOS.
* developing machine macOS 11.3.1
* Xcode version 11.2.1
* Qt version 5.15.2





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list