Visual Studio 2010 上的 GStreamer C++?

OJW*_*OJW 5 c++ glib visual-studio-2010 gstreamer

按照http://docs.gstreamer.com/display/GstSDK/Installing+on+Windows上的说明在 Windows 7 上安装 GStreamer 并编译教程/示例,以便使用 Visual Studio 2010 进行编译。

安装 SDK 后,我尝试编译“hello world”示例...

Cannot open include file: 'gst/gst.h': No such file or directory.  
Run Code Online (Sandbox Code Playgroud)

奇怪 - 教程应该配置了这些文件的路径。不过,我们可以手动添加它们...

将 C:\gstreamer-sdk\0.10\x86\include\gstreamer-0.10 添加到项目包含目录

Cannot open include file: 'glib.h': No such file or directory
Run Code Online (Sandbox Code Playgroud)

将 C:\gstreamer-sdk\0.10\x86\include\glib-2.0 添加到项目包含目录

Cannot open include file: 'glibconfig.h': No such file or directory
Run Code Online (Sandbox Code Playgroud)

在这一点上,它似乎是一个死胡同,因为 PC 上的任何地方都没有 glibconfig.h 文件。

gstreamer 文档中是否缺少某些步骤?

ps 我看到一个类似的问题,但它接受的答案似乎是一个死链接。

ast*_*ara 10


这个问题是在 2014 年发布的。但是,对于需要在 Visual Studio 上安装 Gstreamer 的每个人,我将解释您如何在 Windows 上配置您的库。

首先你需要从https://gstreamer.freedesktop.org/data/pkg/windows/下载库

您需要为开发人员和非开发人员下载并安装安装程序。

例如对于 1.14,它是现在的最新版本,

  • gstreamer-1.0-devel-x86-1.14.1.msi
  • gstreamer-1.0-x86-1.14.1.msi

您将在同一个目录中安装和设置它们,如C:\gstreamer. (我猜 gstreamer 会自动将其添加/bin到 Path 环境中。如果不只是问它。)

之后,您将打开 Visual Studio。创建您的 C++ 项目。创建您的main.cpp文件。右键单击您的项目,然后单击属性。

我们需要做3个步骤:

  1. 包括必要的目录路径。
  2. 定义.lib路径所在的位置。
  3. 指定.libs要使用的。

点击属性后:

  1. C/C++ -> 附加包含目录 -> 定义包含路径,例如
C:\gstreamer\1.0\x86_64\lib\glib-2.0\include;C:\gstreamer\1.0\x86_64\include\gstreamer-1.0;C:\gstreamer\1.0\x86_64\include\glib-2.0\;C:\gstreamer\1.0\x86_64\include\glib-2.0\glib;%(AdditionalIncludeDirectories)
Run Code Online (Sandbox Code Playgroud)
  1. 链接器 -> 常规 -> 添加库目录 -> 写下你的 lib 目录路径如
C:\gstreamer\1.0\x86_64\lib;%(AdditionalLibraryDirectories)
Run Code Online (Sandbox Code Playgroud)
  1. Linker -> Input -> Additional Dependencies -> 编写你想要使用的 .lib 文件,例如
gobject-2.0.lib;glib-2.0.lib;gstreamer-1.0.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
Run Code Online (Sandbox Code Playgroud)

gobject-2.0.lib;glib-2.0.lib;gstreamer-1.0.lib 是我们添加的,其他都是默认完成的。


就这样。你可以写在你的main.cpp文件中

#include <gst/gst.h> 并使用您的 GStreamer 库

我认为这几乎适用于所有图书馆。


OJW*_*OJW 3

(1)安装Windows驱动开发包

(2)创建新项目时,使用Visual Studio中的“gstreamer”模板,而不是“Windows应用程序”模板。然后它不需要在包含/链接器设置中进行任何更改即可#include <gst/gst.h>正常工作。

  • 您能否解释一下 Windows 驱动程序开发工具包如何提供帮助?另外,有没有办法在事后更改项目的模板?这家伙(和我的)的错误与现有的 gstreamer 教程项目有关。 (2认同)