Сборка ( Cmake) QtGStreamer в Mac OS X
У меня проблема с привязкой Qt для Gstreamer. Я использую процедуру из README из пакета QtGStreamer, но я получаю некоторые ошибки при выполнении команды cmake.
Базовая информация:
Mac OS X v. 10.6.8 GStreamer v. 0.10.36 + зависимости (устанавливается через MacPorts) Cmake v. 2.8.10 + зависимости (устанавливается через MacPorts) Boost v. 1.52.0 + зависимости (устанавливается через MacPorts) Qt v 4.8 (устанавливается через установщик SDK)
Процедура сборки Sugested:
$ mkdir build && cd build $ cmake.. -DCMAKE_INSTALL_PREFIX = / путь / к / установка / префикс $ make $ make install
Результат cmake:
$ cmake.. -DCMAKE_INSTALL_PREFIX = / tmp1 / install - Идентификатор компилятора C - GNU 4.2.1 - Идентификатор компилятора CXX - GNU 4.2.1 - Проверка наличия у компилятора C -isysroot - Проверка наличия компилятора C - isysroot - да - Проверка того, поддерживает ли компилятор C флаг цели развертывания OSX - Проверка того, поддерживает ли компилятор C флаг цели развертывания OSX - да - Проверка работающего компилятора C: /usr/bin/cc - Проверка работающего компилятора C: /usr/bin/cc - работает - Обнаружение информации ABI для компилятора C - Обнаружение информации ABI для компилятора C - выполнено - Проверка наличия в компиляторе CXX -isysroot - Проверка наличия в компиляторе CXX -isysroot - да - Проверка наличия компилятора CXX поддерживает флаг цели развертывания OSX - Проверка того, поддерживает ли компилятор CXX флаг цели развертывания OSX - да - Проверка работающего компилятора CXX: / usr / bin / C++ - Проверка работающего компилятора CXX: / usr / bin / C++ - works -- Обнаружение информации ABI компилятора CXX - Обнаружение информации ABI компилятора CXX - сделано - Ищем Q_WS_X11 - Ищу Q_WS_X11 - не найден - Ищу Q_WS_WIN - Ищу Q_WS_WIN - не найден - Ищу Q_WS_QWS - Ищу Q_WS_QWS - не найден - Ищу Q_WS_MAC - Ищу Q_WS_MAC - найден - Ищу QT_MAC_USE_COCOA - Ищет QT_MAC_USE_COCOA - найден - Найден Qt4: /opt/local/bin/qmake (найдена версия "4.8.4") - Повышенная версия: 1.52.0 - Найден PkgConfig: /opt/local/bin/pkg-config (найдена версия "0.27.1") - проверка модуля 'gstreamer-0.10' - найден gstreamer-0.10, версия 0.10.36 - проверка модуля 'gstreamer-base-0.10' - найден gstreamer-base-0.10, версия 0.10.36 - найдено GSTREAMER_BASE_LIBRARY: /opt/local/lib/libgstbase-0.10.dylib - найдено GSTREAMER_BASE_INCLUDE_DIR: /Library/Frameworks/GStreamer.framework/Headers/gstrebase: opt/local/lib/libgstreamer-0.10.dylib (Требуется как минимум версия "0.10.33") - проверка на наличие модуля 'gstreamer-plugins-base-0.10' - package 'gstreamer-plugins-base-0.10' not найдено - проверка на модуль e 'gstreamer-app-0.10' - пакет 'gstreamer-app-0.10' не найден - не удалось найти GSTREAMER_APP_LIBRARY - найдено GSTREAMER_APP_INCLUDE_DIR: /Library/Frameworks/GStreamer.framework/Headers/gst/app - проверка для "gstreamer-interfaces-0.10" - пакет "gstreamer-interfaces-0.10" не найден - не удалось найти GSTREAMER_INTERFACES_LIBRARY - найден GSTREAMER_INTERFACES_INCLUDE_DIR: /Library/Frameworks/GStreamer.framework/Hinterders gstreamer-video-0.10' - пакет'gstreamer-video-0.10'не найден - не найден отсутствует: GSTREAMER_APP_LIBRARY GSTREAMER_INTERFACES_LIBRARY GSTREAMER_VIDEO_LIBRARY) (Требуется как минимум версия "0.10.33") - проверка на наличие модуля "glib-2.0" - найден glib-2.0, версия 2.34.3 - найден GLIB2: /opt/local/lib/libglib-2.0.dylib - проверка модуля 'gobject-2.0' - найден gobject-2.0, версия 2.34.3 - найден GObject: /Library/Frameworks/GStreamer.framework/Headers/gobject - найден OpenGL: /System/Library/Frameworks/OpenGL.framework - не удалось найти OpenGLES2 (отсутствует: OPENGLES2_INCLUDE_DIR OPENGLES2_LIBRARY) - НЕ удалось найти Doxygen (отсутствует: DOXYGEN_EXECUTABLE) ----------------------------------------------------------------------------- - Следующие внешние пакеты были расположены на ваша система. - Эта установка будет иметь дополнительные функции, предоставляемые этими пакетами. ----------------------------------------------------------------------------- * Qt 4 - Требуется для сборки всего * QtOpenGL - Требуется для ускорения OpenGL в qtvideosink и QtGStreamerUi * QtDeclarative - Требуется для сборки поддержки QML * Boost - Требуется для сборки QtGLib * GStreamer - Требуется для сборки базовой библиотеки QtGStreamer * GStreamer - Используется для сборки элемента qwidgetvideosink * GLib - Требуется для сборки QtGLib * GObject - Требуется для сборки QtGLib * OpenGL - Требуется для OpenGL поддержка в qtvideosink (только для рабочего стола) ------------------------------------------- ---------------------------------- - Следующие ДОПОЛНИТЕЛЬНЫЕ пакеты не могут быть расположены в вашей системе. - Подумайте об их установке, чтобы включить больше возможностей этого программного обеспечения -------------------------------------------------- --------------------------- * Библиотека видео GStreamer (0.10.33 или выше) Используется для создания элемента qwidgetvideosink * OpenGLES (2.0 или выше) Требуется для поддержки рендеринга OpenGLES в qtvideosink (только для встраиваемых систем) * Doxygen Используется для создания документации API ------------------------------ ----------------------------------------------- - Следующие ТРЕБУЕМЫЕ пакеты НЕ МОГУТ находиться в вашей системе. - Вы должны установить эти пакеты, прежде чем продолжить. -------------------------------------------------- --------------------------- * Библиотека приложения GStreamer (0.10.33 или выше) Требуется для сборки библиотеки интерфейсов QtGStreamerUtils * GStreamer (0.10.33 или выше) Требуется для сборки QtGStreamer ----------------------------------------------------------------------------- CMake Ошибка в cmake/modules/MacroLogFeature.cmake:141 (СООБЩЕНИЕ): Выход: отсутствует требование стека вызовов (самый последний вызов в первую очередь): CMakeLists.txt:152 (macro_display_feature_log) Ошибка CMake: в этом проекте используются следующие переменные, но для них установлено значение NOTFOUND. Пожалуйста, установите их или убедитесь, что они установлены и проверены правильно в файлах CMake: GSTREAMER_APP_LIBRARY (ADVANCED), связанный целевым объектом "QtGStreamerUtils" в каталоге /Users/madman/Downloads/RELEASE-0.10.2/src/QGst GSTREAMER_INTERFACES_VIBED (связанный) по цели "QtGStreamer" в каталоге /Users/madman/Downloads/RELEASE-0.10.2/src/QGst - Настройка неполная, произошли ошибки!
Мне нужна эта привязка для разработки приложения для воспроизведения потоков MJPEG/ASF с камер видеонаблюдения. Я уже пробовал libvlc, но нет простого способа захвата потоков, пока они уже отображаются... GStreamer - единственная альтернатива, потому что это будет кроссплатформенное приложение
Я довольно новичок в программировании на C++/Qt, и вся магия сборки / компиляции все еще немного сбивает меня с толку...
Я знаю, что нет простого ответа, как построить привязку QtGstreamer, но я буду очень благодарен за любую помощь