gpt4 book ai didi

opencv - Yocto构建中OpenCV中的Gsteamer冲突声明

转载 作者:行者123 更新时间:2023-12-02 16:27:37 26 4
gpt4 key购买 nike

我正在使用Gstreamer 1.14和OpenCV 3.4.5构建Yocto 2.5(Sumo)

编译Gstreamer时出现此错误:

build_xwayland_mq/tmp/work/aarch64-mx8m-poky-linux/gstreamer1.0-plugins-bad/1.14.4.imx-r0/recipe-sysroot/usr/include/opencv2/imgproc/types_c.h:445:21: error: conflicting declaration of C function 'CvMoments cvMoments(const cv::Moments&)'
CV_INLINE CvMoments cvMoments(const cv::Moments& m)

imgproc_c.h中相同的错误:360:13

我看到有人通过改用OpenCV 4来解决了这个问题,但是我们自己的项目需要OpenCV 3.4.5。

有人知道如何解决此冲突吗?

最佳答案

评论太久了..

我只是做了快速搜索,发现了这一点:
https://www.yoctoproject.org/pipermail/meta-freescale/2019-March/023888.html

包含有一些问题..我猜在提到的hpp文件中,有一些类型未在imgproc_c.h中声明为3.4,但已经移到那里以供opencv 4使用(只是我的猜测)。
您只需要在所有包含imgproc_c.h的地方(在GST插件中不好)添加这些hpp。

从中汲取灵感..也许它本身就能解决您的问题:
https://git.yoctoproject.org/cgit/cgit.cgi/meta-freescale/tree/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-opencv-fix-build-for-opencv-3-4-2.patch?h=thud
该补丁是针对yocto thud ..的,但对于GStreamer而言可能并不重要。
在最坏的情况下,您将必须向后移植它或自己制作相扑补丁。

或者,如果您可以尝试更新到thud(应该是很小的差异)或更新的版本,并检查它是否仍然存在。

关于opencv - Yocto构建中OpenCV中的Gsteamer冲突声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60428348/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com