首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Cmake编译QtGstreamer时出错,Mingw32编译器附带QT5.12.3

使用Cmake编译QtGstreamer时出错,Mingw32编译器附带QT5.12.3
EN

Stack Overflow用户
提问于 2019-06-03 04:20:56
回答 1查看 460关注 0票数 0

我试图编译QT的GStreamer包装器,所以我使用QT5.12.3和Mingw32 7.3.0下载了两个iam包

  1. gstreamer-1.0-devel-mingw-x86-1.16.0.msi
  2. gstreamer-1.0-mingw-x86-1.16.0.msi

然后我安装了它们,并将bin文件夹添加到系统环境中,这样Cmake就可以在编译GStreamer时识别QtGstreamer所需的依赖项,我下载了最后一个版本的QtGStreamer 1.2.0并使用Cmake生成文件,我链接了所有的依赖项,即QT、Boost和GStreamer。

当我进入mingw32 32-make的步骤时,在17%上出现了错误,即

代码语言:javascript
复制
In file included from C:/boost_1_69_0/boost/detail/workaround.hpp:8:0,
                 from C:/boost_1_69_0/boost/mpl/aux_/config/workaround.hpp:17,
                 from C:/boost_1_69_0/boost/mpl/aux_/static_cast.hpp:17,
                 from C:/boost_1_69_0/boost/mpl/aux_/value_wknd.hpp:17,
                 from C:/boost_1_69_0/boost/mpl/if.hpp:17,
                 from D:/build/qtgstreamer/qt-gstreamer-master/src/QGlib/type.h:24,
                 from D:\build\qtgstreamer\qt-gstreamer-master\src\QGst\global.h:25,
                 from D:\build\qtgstreamer\qt-gstreamer-master\src\QGst\caps.h:20,
                 from D:\build\qtgstreamer\qt-gstreamer-master\src\QGst\caps.cpp:17:
C:/boost_1_69_0/boost/type_traits/detail/config.hpp:85:69: warning: "__clang_major___WORKAROUND_GUARD" is not defined, evaluates to 0 [-Wundef]
       && !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(__clang_major__, <= 4)
                                                                     ^
C:/boost_1_69_0/boost/config/workaround.hpp:246:10: note: in definition of macro 'BOOST_WORKAROUND'
        ((symbol ## _WORKAROUND_GUARD + 0 == 0) &&     \
          ^~~~~~
C:/boost_1_69_0/boost/type_traits/detail/config.hpp:85:69: warning: "__clang_major__" is not defined, evaluates to 0 [-Wundef]
       && !BOOST_WORKAROUND(BOOST_MSVC, < 1900) && !BOOST_WORKAROUND(__clang_major__, <= 4)
                                                                     ^
C:/boost_1_69_0/boost/config/workaround.hpp:247:9: note: in definition of macro 'BOOST_WORKAROUND'
        (symbol != 0) && (1 % (( (symbol test) ) + 1)))
         ^~~~~~
In file included from D:/gstreamer/1.0/x86/include/gstreamer-1.0/gst/gstbuffer.h:30:0,
                 from D:/gstreamer/1.0/x86/include/gstreamer-1.0/gst/gstpad.h:70,
                 from D:/gstreamer/1.0/x86/include/gstreamer-1.0/gst/gstelement.h:87,
                 from D:/gstreamer/1.0/x86/include/gstreamer-1.0/gst/gstbin.h:27,
                 from D:/gstreamer/1.0/x86/include/gstreamer-1.0/gst/gst.h:35,
                 from D:\build\qtgstreamer\qt-gstreamer-master\src\QGst\caps.cpp:22:
D:\build\qtgstreamer\qt-gstreamer-master\src\QGst\caps.cpp: In member function 'void QGst::Caps::append(const CapsPtr&)':
D:/gstreamer/1.0/x86/include/gstreamer-1.0/gst/gstminiobject.h:33:65: error: invalid cast from type 'const CapsPtr {aka const QGlib::RefPointer<QGst::Caps>}' to type 'GstMiniObject* {aka _GstMiniObject*}'
 #define GST_MINI_OBJECT_CAST(obj)          ((GstMiniObject*)(obj))
                                                                 ^
D:/gstreamer/1.0/x86/include/gstreamer-1.0/gst/gstcaps.h:35:47: note: in definition of macro 'GST_CAPS_CAST'
 #define GST_CAPS_CAST(obj)        ((GstCaps*)(obj))
                                               ^~~
D:/gstreamer/1.0/x86/include/gstreamer-1.0/gst/gstcaps.h:249:29: note: in expansion of macro 'GST_CAPS'
 #define gst_caps_copy(caps) GST_CAPS (gst_mini_object_copy (GST_MINI_OBJECT_CAST (caps)))
                             ^~~~~~~~
D:/gstreamer/1.0/x86/include/gstreamer-1.0/gst/gstcaps.h:249:61: note: in expansion of macro 'GST_MINI_OBJECT_CAST'
 #define gst_caps_copy(caps) GST_CAPS (gst_mini_object_copy (GST_MINI_OBJECT_CAST (caps)))
                                                             ^~~~~~~~~~~~~~~~~~~~
D:\build\qtgstreamer\qt-gstreamer-master\src\QGst\caps.cpp:57:40: note: in expansion of macro 'gst_caps_copy'
     gst_caps_append(object<GstCaps>(), gst_caps_copy(caps2));
                                        ^~~~~~~~~~~~~
mingw32-make[2]: *** [src\QGst\CMakeFiles\Qt5GStreamer.dir\build.make:137: src/QGst/CMakeFiles/Qt5GStreamer.dir/caps.cpp.obj] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:309: src/QGst/CMakeFiles/Qt5GStreamer.dir/all] Error 2
mingw32-make: *** [Makefile:140: all] Error 2

我犯了什么错?

我不知道是否还需要什么来纠正我的错误,请告诉我你是否需要添加什么

更新

当我配置Cmake选项时,我没有添加qt5declarative Cmake,而是空的,在对这个部分进行搜索之后,我发现Qt5.6中不再支持这个部分,我不确定这个问题是否与这个部分有关,但总的来说,这是我迄今为止所做的所有工作。

来自我的cmake的截图

EN

回答 1

Stack Overflow用户

发布于 2020-02-01 19:47:55

您应该尝试使用GStreamer1.14.4

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56421103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档