【问题标题】:GStreamer C++ on Visual Studio 2010?Visual Studio 2010 上的 GStreamer C++?
【发布时间】:2014-01-21 17:52:44
【问题描述】:

按照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.  

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

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

Cannot open include file: 'glib.h': No such file or directory

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

Cannot open include file: 'glibconfig.h': No such file or directory

此时似乎是死路一条,因为 PC 上的任何地方都没有 glibconfig.h 文件。

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

附言我看到a similar question,但它接受的答案似乎是一个死链接。

【问题讨论】:

    标签: c++ visual-studio-2010 gstreamer glib


    【解决方案1】:


    这个问题发布于 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++ -> Additional Include Directories -> 定义你的包含路径,例如
    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)
    
    1. 链接器->常规->添加库目录->写你的lib目录路径如
    C:\gstreamer\1.0\x86_64\lib;%(AdditionalLibraryDirectories)
    
    1. 链接器 -> 输入 -> 附加依赖项 -> 编写您想要使用的 .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)
    

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


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

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

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

    【讨论】:

      【解决方案2】:

      (1) 安装 Windows 驱动开发工具包

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

      【讨论】:

      • 您能解释一下 Windows 驱动程序开发工具包如何提供帮助吗?另外,有没有办法在事后更改项目的模板?这个人的错误(和我的)与现有的 gstreamer 教程项目有关。
      【解决方案3】:

      官方的方式是使用Visual Studio的“属性表”功能。

      1. 在 Visual Studio 中,单击菜单栏上的View→Property ManagerView→Other Windows→Property Manager
      2. 点击Solution Explorer附近的Property Manager标签。
      3. 右键单击您的项目名称并选择Add Existing Property Sheet...,然后导航到%GSTREAMER_ROOT_X86%\share\vs\2010\libs 并加载gstreamer-1.0.props
      4. 这会将Addittional Include Directories, Addittional Libraries Directories and Additional Dependencies 添加到您的Project Properties
      5. 构建您的项目。

      来源:
      手动创建新项目:
      https://gstreamer.freedesktop.org/documentation/installing/on-windows.html?gi-language=c#creating-new-projects-manually
      共享或重用 Visual Studio 项目设置:
      https://docs.microsoft.com/en-us/cpp/build/create-reusable-property-configurations

      【讨论】:

        【解决方案4】:

        Windows 上的标准 gstreamer 安装有一个 glibconfig.h 位于:(假设您的 gstreamer 安装在 C:\gstreamer)C:\gstreamer\1.0\x86_64\lib\glib-2.0\include

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-12-17
          • 1970-01-01
          相关资源
          最近更新 更多