我正在尝试编译此代码:
#include <stdio.h>
#include <stdlib.h>
#include <gst/gst.h>
int main (int argc,
char *argv[])
{
const gchar *nano_str;
guint major, minor, micro, nano;
gst_init (&argc, &argv);
gst_version (&major, &minor, µ, &nano);
if (nano == 1)
nano_str = "(CVS)";
else if (nano == 2)
nano_str = "(Prerelease)";
else
nano_str = "";
printf ("This program is linked against GStreamer %d.%d.%d %s\n",
major, minor, micro, nano_str);
return 0;
}
当我在终端中使用此命令时:
libtool --mode=link gcc `pkg-config --cflags --libs gstreamer-1.0` -o main main.c
我收到此错误:
Package gstreamer-1.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gstreamer-1.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gstreamer-1.0' found
libtool: link: gcc -o main main.c
还有这个错误:
main.c:3:21: fatal error: gst/gst.h: No such file or directory
但是我已经使用 apt-get 安装了 GStreamer 1.0 和 libtool。您知道我应该从哪里开始吗?我在整个互联网上搜索答案,但没有人知道答案。
答案1
gst/gst.h
由提供libgstreamer1.0-dev
.安装它:
sudo apt-get install libgstreamer1.0-dev
在 Code::Blocks 中,您可以设置自定义包含位置和链接器标志。在项目菜单,点击构建选项:
答案2
对于使用 Eclipse 的用户,您应该执行以下操作在 Eclipse 内部创建项目:
右键单击项目名称并选择属性。在 C/C++ Build 下,选择 Settings。
在工具设置下,打开 GCC C 编译器并选择杂项。将以下内容添加到其他标志文本框中:
`pkg-config --cflags gstreamer-1.0` -fPIC
在工具设置下,打开 GCC C++ Linker 并选择杂项。将以下内容添加到链接器标志文本框中:
`pkg-config --libs gstreamer-1.0 gobject-2.0 glib-2.0`
在工具设置下,打开 GCC C++ Linker 并选择库。在库部分下添加 gstreamer-1.0、gobject-2.0 和 glib-2.0。
您的应用程序应该可以成功编译和链接。