c++ - 为其他人编译 OpenCV + Gstreamer
问题描述
我创建了一个使用 OpenCV 和 Gstreamer(接收 udp 流)的项目,如果使用 Visual Studio(运行按钮)打开,它工作得非常好。但是在编译 Release x64 MT 并尝试之后,我不仅需要抛出大量 GStreamer .dll 文件来打开我的应用程序,而且即使在它成功打开后,当它打开流时我也会收到警告,因此我的程序是不工作(捕获返回错误)
[ 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 的奖励积分)
谢谢
解决方案
好的,我发现,由于某种原因,您需要将 .dll 文件从 GStreamer /bin 文件夹移动到您的应用程序主目录,并在上一个文件夹中复制 GStreamer /lib 文件夹
/MyFolder
/my app
/*.dll
/myapp.exe
/lib
*.dll-s 来自“ \gstreamer\1.0\x86_64\bin ” /lib 来自“ \gstreamer\1.0\x86_64 ”
一大堆文件,它破坏了我的目录组织,但它终于开始工作了——我有人发现了如何修复/改进它,请告诉我:wink:
推荐阅读
- r - 如何使用 r 编程语言处理数据集列中包含的空值?
- spring-integration - IntegrationFlow HttpRequestHandlingMessagingGateway 直接回复
- robotframework - 如何在不使用 python 的情况下处理机器人框架中的动态 webtable
- typescript - @types/react-native 用于 react-native 0.59.x
- asp.net-mvc - 选项 405(不允许的方法)和访问“http://api..”处的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应不
- typescript - 我想使用箭头函数编写一个 get 和 set 方法
- python-3.x - 如何在 Python 中加速这个嵌套的 for 循环?
- ios - Swift中结构数组的SHA1哈希
- java - SAX:如果 schema 采用 XSD 列表,它将使用哪一个?
- vb.net - 使用 vb.net 将大文件上传到谷歌驱动器