C 如何使用MinGW构建gstreamer项目?

C 如何使用MinGW构建gstreamer项目?,c,mingw,gstreamer,glib,gobject,C,Mingw,Gstreamer,Glib,Gobject,我已经在我的64位Windows 7(basic)上安装了以下两个msi——我从下载了msi gstreamer-sdk-devel-x86_64-2013.6.msi gstreamer-sdk-x86_64-2013.6.msi 现在,我正在尝试使用MinGW(GCC 4.8.1)构建程序,链接器给我带来了麻烦,它说: C:\Users\Apelles\AppData\Local\Temp\ccwLMXuu.o: In function `gst_message_unref': C:/g

我已经在我的64位Windows 7(basic)上安装了以下两个
msi
——我从下载了msi

  • gstreamer-sdk-devel-x86_64-2013.6.msi
  • gstreamer-sdk-x86_64-2013.6.msi
现在,我正在尝试使用MinGW(GCC 4.8.1)构建程序,链接器给我带来了麻烦,它说:

C:\Users\Apelles\AppData\Local\Temp\ccwLMXuu.o: In function `gst_message_unref':
C:/gstreamer-sdk/0.10/x86_64/include/gstreamer-0.10/gst/gstmessage.h:347: undefined reference to `gst_mini_object_unref'
C:\Users\Apelles\AppData\Local\Temp\ccwLMXuu.o: In function `main':
F:\projects\gstreamer/helloworld.c:9: undefined reference to `gst_init'
F:\projects\gstreamer/helloworld.c:12: undefined reference to `gst_parse_launch'
F:\projects\gstreamer/helloworld.c:15: undefined reference to `gst_element_set_state'
F:\projects\gstreamer/helloworld.c:18: undefined reference to `gst_element_get_bus'
F:\projects\gstreamer/helloworld.c:19: undefined reference to `gst_bus_timed_pop_filtered'
F:\projects\gstreamer/helloworld.c:24: undefined reference to `gst_object_unref'
F:\projects\gstreamer/helloworld.c:25: undefined reference to `gst_element_set_state'
F:\projects\gstreamer/helloworld.c:26: undefined reference to `gst_object_unref'
collect2.exe: error: ld returned 1 exit status
我缺少哪些库

以下是我用来构建项目的选项(取自我的
make
输出):

gcc helloworld.c-ggdb-Wall-Wextra-ansi-std=c99-Wno未使用参数-mms位域-IC:/gstreamer-sdk/0.10/x86_64/include/gtk-2.0-IC:/gstreamer-sdk/0.10/x86_64/lib/gtk-2.0/include-IC:/gstreamer-sdk/0.10/x86_64/include/atk-1.0-IC:/gstreamer-sdk/0.10/x86_64/include/cairo-IC:/gstreamer-IC:/gstreamer-sdk/0.10/x86_-gdu-pixb2-IC:/gstreamer sdk/0.10/x86_64/include/pango-1.0-IC:/gstreamer sdk/0.10/x86_64/include/glib-2.0-IC:/gstreamer sdk/0.10/x86_64/lib/glib-2.0/include-IC:/gstreamer sdk/0.10/x86_64/include/pixman-1-IC:/gstreamer sdk/0.10/x86_64/include/fontconfig-IC:/gstreamer sdk/-IC:/gstreamer sdk/0.10/x86_64/include/libpng15-mms位域-IC:/gstreamer sdk/0.10/x86_64/include/gstreamer-0.10-IC:/gstreamer sdk/0.10/x86_64/include/glib-2.0-IC:/gstreamer sdk/0.10/x86_64/lib/glib-2.0/include-IC:/gstreamer sdk/0.10/x86_64/include/libxml2-LC:/gstreamer sdk/0.10/x86_-tk-win32-lg2-lg2-wink-lgio-2.0-lpangowin32-1.0-lgdi32-LPANGOCAROO-1.0-lgdk_pixbuf-2.0-lcairo-lgobject-2.0-lglib-2.0-lintl-LC:/gstreamer sdk/0.10/x86_64/lib-lgstinterfaces-0.10-lgstreamer-0.10-lgobject-2.0-lgmodule-2.0-lgthread-2.0-lxml2.0-lintl

这里面缺少什么


我应该怎么做才能解决这个问题?

我怀疑您使用的是MinGW的默认GCC编译器,该编译器针对x86体系结构,但您已经下载了SDK的x86_64版本。链接器可以找到库,但我无法使用它们

我们强烈建议使用cerbero的构建系统来设置开发环境。它将负责下载一个工作的工具链,并编译所有的构建依赖项(自动工具、gettext、libtoo、pkg配置等)

您将在使用SDK构建单个项目一节中找到详细说明

简言之:

  • 结帐cerbero的回购协议
  • 使用以下命令运行引导命令:./cerbero unnstalled-c config/win64.cbc bootstrap
  • 使用以下命令进入开发shell:./cerbero unnstalled-c config/win64.cbc shell

  • 我怀疑您使用的是MinGW的默认GCC编译器,该编译器针对x86体系结构,但您已经下载了SDK的x86_64版本。链接器可以找到库,但我无法使用它们

    我们强烈建议使用cerbero的构建系统来设置开发环境。它将负责下载一个工作的工具链,并编译所有的构建依赖项(自动工具、gettext、libtoo、pkg配置等)

    您将在使用SDK构建单个项目一节中找到详细说明

    简言之:

  • 结帐cerbero的回购协议
  • 使用以下命令运行引导命令:./cerbero unnstalled-c config/win64.cbc bootstrap
  • 使用以下命令进入开发shell:./cerbero unnstalled-c config/win64.cbc shell

  • 可能是gstreamer本身,因为
    gst\u init
    不可用。@MarcB:安装的msi不包含它吗?我没有安装(或在配置时遗漏了什么)?您已经在其中安装了
    -lgstreamer-0.10
    ,但这只有在gstreamer内容位于include/linker路径中时才有用。@MarcB:我可以猜路径中遗漏了某些特定的gstreamer内容,但我需要知道具体的内容是什么?可能是gstreamer本身,因为gst\u init不可用。@MarcB:安装的msi不包含它吗?我没有安装什么(或配置时遗漏了什么)?您已经在其中安装了
    -lgstreamer-0.10
    ,但这只有在gstreamer内容位于include/linker路径中时才有用。@MarcB:我可以猜路径中遗漏了某些特定的gstreamer内容,但我需要知道具体的内容是什么?