c++ Gstreamer介子从源代码构建,作为另一个大项目的子项目

wkftcu5l  于 2023-02-06  发布在  其他
关注(0)|答案(1)|浏览(190)

我尝试使用Meson作为另一个大项目的子项目从源代码构建Gstreamer。(Building from source using Meson
大Project介子包含:gst_dep = subproject('gstreamer')
因为原始gstreamer项目的代码包含另一个子项目文件夹,该文件夹包含另一个gstreamer目录,所以我收到下一个错误:

subprojects/gstreamer/meson.build:155:4: ERROR: Recursive include of subprojects: gstreamer => gstreamer.

目录结构:

-BigProject
    -meson.build
    -subprojects
        -gstreamer #The original gstreamer code folder
            -meson.build
            -subprojects
                -gstreamer 
                -gst-plugins-good
                -gst-plugins-bad
                etc.

我能做些什么来弥补呢?

du7egjpx

du7egjpx1#

重命名GStreamer源代码repo将起作用。
Meson子项目不接受递归包含GStreamer repo作为子项目来添加它的GStreamer子项目。
也就是说,将GStreamer repo重命名为gstreamer-something,并将www.example.com的meson.build顶级子项目调用设置为:

gst_dep = subproject('gstreamer-something')

会有用的。
此外,对于这种重命名,您可以在克隆时指定GStreamer存储库名称,方法如下:

git clone -b <branch> <src uri> gstreamer-something

尽管如此,如果你使用的是介子包裹,你可以有一个包裹文件与该名称,应该是足够的。
你可以关注这个issue关于GStreamer的问题,它不认为自己是一个子项目,希望他们很快会提供一个重命名解决方案或类似的解决方案。

相关问题