【发布时间】:2021-03-02 04:30:38
【问题描述】:
我创建了一个使用 OpenCV 和 Gstreamer(接收 udp 流)的项目,如果使用 Visual Studio(运行按钮)打开,它工作得非常好。但是在编译 Release x64 MT 并尝试之后,我不仅需要抛出大量 GStreamer .dll 文件来打开我的应用程序,而且即使在它成功打开后,当它打开流时我也会收到警告,因此我的程序是不工作(捕获返回 false)
[ WARN:0] global F:\Code\opencv_4.5.1\opencv-4.5.1\modules\videoio\src\cap_gstreamer.cpp (734) cv::GStreamerCapture::open OpenCV | GStreamer warning: Error opening bin: no element "udpsrc"
[ WARN:0] global F:\Code\opencv_4.5.1\opencv-4.5.1\modules\videoio\src\cap_gstreamer.cpp (501) cv::GStreamerCapture::isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
它似乎找不到什么东西。我的问题是:
如何编译我的项目,以便任何其他 Windows 计算机都可以打开它并找到所有需要的文件? (隐藏 .dll 的奖励积分)
谢谢
【问题讨论】:
-
不是错误而是警告
-
没错,但它阻止了我的应用程序工作,例如,当我使用 VLC 时,它成功打开了我的流,所以这不是网络问题。而且我仍然想知道为什么它试图从我的主 PC 搜索路径中的东西?
-
这似乎是“H:\gstreamer\1.0\x86_64\bin”的路径导致该问题如果我允许我的程序使用 PATH 并且它在那里 - 它正在工作,但是当我删除它时只需将文件从那里复制粘贴到我的程序目录,我就会收到“警告”。如何以其他方式链接这些文件以使其正常工作?