Macos 在Mac OS X上构建(Cmake)QtGStreamer

Macos 在Mac OS X上构建(Cmake)QtGStreamer,macos,build,cmake,gstreamer,qtgstreamer,Macos,Build,Cmake,Gstreamer,Qtgstreamer,我对Gstreamer的Qt绑定有问题。我正在使用来自QtGStreamer包的README的过程,但在执行cmake命令时出现了一些错误 基本信息: Mac OS X v. 10.6.8 GStreamer v. 0.10.36 + dependencies (installed through MacPorts) Cmake v. 2.8.10 + dependencies (installed through MacPorts) Boost v. 1.52.0

我对Gstreamer的Qt绑定有问题。我正在使用来自QtGStreamer包的README的过程,但在执行cmake命令时出现了一些错误

基本信息:

Mac OS X v. 10.6.8 GStreamer v. 0.10.36 + dependencies (installed through MacPorts) Cmake v. 2.8.10 + dependencies (installed through MacPorts) Boost v. 1.52.0 + dependencies (installed through MacPorts) Qt v 4.8 (installed through SDK installer) 建议的构建过程:

$ mkdir build && cd build $ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/installation/prefix $ make $ make install cmake的结果:

$ cmake .. -DCMAKE_INSTALL_PREFIX=/tmp1/install -- The C compiler identification is GNU 4.2.1 -- The CXX compiler identification is GNU 4.2.1 -- Checking whether C compiler has -isysroot -- Checking whether C compiler has -isysroot - yes -- Checking whether C compiler supports OSX deployment target flag -- Checking whether C compiler supports OSX deployment target flag - yes -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Checking whether CXX compiler has -isysroot -- Checking whether CXX compiler has -isysroot - yes -- Checking whether CXX compiler supports OSX deployment target flag -- Checking whether CXX compiler supports OSX deployment target flag - yes -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Looking for Q_WS_X11 -- Looking for Q_WS_X11 - not found -- Looking for Q_WS_WIN -- Looking for Q_WS_WIN - not found -- Looking for Q_WS_QWS -- Looking for Q_WS_QWS - not found -- Looking for Q_WS_MAC -- Looking for Q_WS_MAC - found -- Looking for QT_MAC_USE_COCOA -- Looking for QT_MAC_USE_COCOA - found -- Found Qt4: /opt/local/bin/qmake (found version "4.8.4") -- Boost version: 1.52.0 -- Found PkgConfig: /opt/local/bin/pkg-config (found version "0.27.1") -- checking for module 'gstreamer-0.10' -- found gstreamer-0.10, version 0.10.36 -- checking for module 'gstreamer-base-0.10' -- found gstreamer-base-0.10, version 0.10.36 -- Found GSTREAMER_BASE_LIBRARY: /opt/local/lib/libgstbase-0.10.dylib -- Found GSTREAMER_BASE_INCLUDE_DIR: /Library/Frameworks/GStreamer.framework/Headers/gst/base -- Found GStreamer: /opt/local/lib/libgstreamer-0.10.dylib (Required is at least version "0.10.33") -- checking for module 'gstreamer-plugins-base-0.10' -- package 'gstreamer-plugins-base-0.10' not found -- checking for module 'gstreamer-app-0.10' -- package 'gstreamer-app-0.10' not found -- Could NOT find GSTREAMER_APP_LIBRARY -- Found GSTREAMER_APP_INCLUDE_DIR: /Library/Frameworks/GStreamer.framework/Headers/gst/app -- checking for module 'gstreamer-interfaces-0.10' -- package 'gstreamer-interfaces-0.10' not found -- Could NOT find GSTREAMER_INTERFACES_LIBRARY -- Found GSTREAMER_INTERFACES_INCLUDE_DIR: /Library/Frameworks/GStreamer.framework/Headers/gst/interfaces -- checking for module 'gstreamer-video-0.10' -- package 'gstreamer-video-0.10' not found -- Could NOT find GSTREAMER_VIDEO_LIBRARY -- Found GSTREAMER_VIDEO_INCLUDE_DIR: /Library/Frameworks/GStreamer.framework/Headers/gst/video -- Could NOT find GStreamerPluginsBase (missing: GSTREAMER_APP_LIBRARY GSTREAMER_INTERFACES_LIBRARY GSTREAMER_VIDEO_LIBRARY) (Required is at least version "0.10.33") -- checking for module 'glib-2.0' -- found glib-2.0, version 2.34.3 -- Found GLIB2: /opt/local/lib/libglib-2.0.dylib -- checking for module 'gobject-2.0' -- found gobject-2.0, version 2.34.3 -- Found GObject: /Library/Frameworks/GStreamer.framework/Headers/gobject -- Found OpenGL: /System/Library/Frameworks/OpenGL.framework -- Could NOT find OpenGLES2 (missing: OPENGLES2_INCLUDE_DIR OPENGLES2_LIBRARY) -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) ----------------------------------------------------------------------------- -- The following external packages were located on your system. -- This installation will have the extra features provided by these packages. ----------------------------------------------------------------------------- * Qt 4 - Required for building everything * QtOpenGL - Required for OpenGL acceleration in qtvideosink and QtGStreamerUi * QtDeclarative - Required for building QML support * Boost - Required for building QtGLib * GStreamer - Required to build QtGStreamer * GStreamer base library - Used for building the qwidgetvideosink element * GLib - Required to build QtGLib * GObject - Required to build QtGLib * OpenGL - Required for OpenGL rendering support in qtvideosink (desktop only) ----------------------------------------------------------------------------- -- The following OPTIONAL packages could NOT be located on your system. -- Consider installing them to enable more features from this software. ----------------------------------------------------------------------------- * GStreamer video library (0.10.33 or higher) Used for building the qwidgetvideosink element * OpenGLES (2.0 or higher) Required for OpenGLES rendering support in qtvideosink (embedded only) * Doxygen Used to generate the API documentation ----------------------------------------------------------------------------- -- The following REQUIRED packages could NOT be located on your system. -- You must install these packages before continuing. ----------------------------------------------------------------------------- * GStreamer app library (0.10.33 or higher) Required to build QtGStreamerUtils * GStreamer interfaces library (0.10.33 or higher) Required to build QtGStreamer ----------------------------------------------------------------------------- CMake Error at cmake/modules/MacroLogFeature.cmake:141 (MESSAGE): Exiting: Missing Requirements Call Stack (most recent call first): CMakeLists.txt:152 (macro_display_feature_log) CMake Error: The following variables are used in this project, but they are set to NOTFOUND. Please set them or make sure they are set and tested correctly in the CMake files: GSTREAMER_APP_LIBRARY (ADVANCED) linked by target "QtGStreamerUtils" in directory /Users/madman/Downloads/RELEASE-0.10.2/src/QGst GSTREAMER_INTERFACES_LIBRARY (ADVANCED) linked by target "QtGStreamer" in directory /Users/madman/Downloads/RELEASE-0.10.2/src/QGst -- Configuring incomplete, errors occurred! 我需要这个绑定来开发一个应用程序,用于播放来自CCTV摄像机的MJPEG/ASF流。我已经试过libvlc了,但是当流已经显示时,没有简单的方法来捕获流。。。GStreamer是唯一的选择,因为它将是跨平台应用程序

我对C++/Qt编程相当陌生,整个构建/编译魔法对我来说仍然有点混乱


我知道如何构建QtGstreamer绑定没有简单的答案,但我非常感谢您的帮助

我正在处理类似的问题。问题是cmake系统使用的Find.cmake文件不起作用,我认为这是因为那些cmake脚本尝试使用pkg config,但是pkg config不起作用,因为它太旧了。我也在OSX上,所以它可能是OSX的东西。。。