c++ - 在 Visual Studio 中使用 C++ 中的 GStreamer

标签 c++ visual-studio gstreamer extern

是否可以在 C++ 项目中使用 GStreamer C 绑定(bind)?

当我编译 GStreamer HelloWorld sample 时在 C++ VS 环境中,gst_init() 被损坏为 _gst_init(),然后链接器无法在 GStreamer .lib 中找到该函数。其他 GStreamer 函数也会发生同样的情况。

我尝试将 include 指令包含在“extern C”声明中,如下所示:

extern "C" {
    #include <gst/gst.h>
}

但是没有任何帮助。

我可以告诉编译器如何准确地修改名称吗? GStreamer 是否有任何 C++ 包装器,或者我需要编写一个包装器才能使用它?

最佳答案

当我很久以前尝试这个时,我也遇到了问题,我猜 gstreamer 和 glib 并不是真正的 VS 友好。

您可以尝试OSSBuild's version ,它提供了二进制文件、解决方案文件,甚至一些用于使用 Visual Studio 构建 gstreamer 的补丁。

我个人最终使用 MinGW/GCC 编译 gstreamer 和 glib,并且它仍然可以与 Visual Studio 一起使用。至于C++包装器,请看gstreamermm .

关于c++ - 在 Visual Studio 中使用 C++ 中的 GStreamer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20052921/

相关文章:

c++ - 在 Linux 上断言失败后继续调试?

c++ - 有没有办法在非复合操作时防止构造?

c++ - catch(...) 实际上捕获所有异常吗?

c# - 当文件位于它们必须位于的位置时,ClickOnce 无法找到其先决条件

callback - GStreamer:如何连接动态垫

macos - GStreamer 非法硬件指令

c++ - 在 "chunks"中处理的互斥管理线程而不是交错

c++ - 将 unique_ptr 引用传递给 boost::bind?

.net - Angular 构建未部署到 Visual Studio 2017 中的 azure

java - 使用 GStreamer 创建 AVI 文件