Решено: GStreamer gst/gst.h (gst/gst.h not found)

Модератор: Модераторы разделов

Kuzmit4
Сообщения: 53

Решено: GStreamer gst/gst.h

Сообщение Kuzmit4 »

Добрый день!
ОС Fedora Core 11, иснтрумент KDevelop (С/С++).

Код: Выделить всё

#include <gst/gst.h>

копилятор ругается
prg7.cpp:28:21: error: gst/gst.h: No such file or directory

Поискал где живут библиотеки GStreamer. Оказалось в
/usr/include/gstreamer-0.10/gst/gst.h

заменил путь в include

Код: Выделить всё

#include <gstreamer-0.10/gst/gst.h>

При компиляции получаю еще больше ошибок
/usr/include/gstreamer-0.10/gst/gst.h:27:18: error: glib.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:29:29: error: gst/glib-compat.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:31:30: error: gst/gstenumtypes.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:32:28: error: gst/gstversion.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:34:24: error: gst/gstbin.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:35:27: error: gst/gstbuffer.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:36:31: error: gst/gstbufferlist.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:37:25: error: gst/gstcaps.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:38:31: error: gst/gstchildproxy.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:39:26: error: gst/gstclock.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:40:31: error: gst/gstdebugutils.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:41:28: error: gst/gstelement.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:42:26: error: gst/gsterror.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:43:26: error: gst/gstevent.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:44:29: error: gst/gstghostpad.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:45:26: error: gst/gstindex.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:46:33: error: gst/gstindexfactory.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:47:25: error: gst/gstinfo.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:48:30: error: gst/gstinterface.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:49:29: error: gst/gstiterator.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:50:28: error: gst/gstmarshal.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:51:28: error: gst/gstmessage.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:52:31: error: gst/gstminiobject.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:53:27: error: gst/gstobject.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:54:24: error: gst/gstpad.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:55:31: error: gst/gstparamspecs.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:56:29: error: gst/gstpipeline.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:57:27: error: gst/gstplugin.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:58:25: error: gst/gstpoll.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:59:27: error: gst/gstpreset.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:60:26: error: gst/gstquery.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:61:29: error: gst/gstregistry.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:62:28: error: gst/gstsegment.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:63:30: error: gst/gststructure.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:64:32: error: gst/gstsystemclock.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:65:28: error: gst/gsttaglist.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:66:30: error: gst/gsttagsetter.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:67:25: error: gst/gsttask.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:68:29: error: gst/gsttaskpool.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:69:26: error: gst/gsttrace.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:70:29: error: gst/gsttypefind.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:71:36: error: gst/gsttypefindfactory.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:72:24: error: gst/gsturi.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:73:26: error: gst/gstutils.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:74:26: error: gst/gstvalue.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:75:24: error: gst/gstxml.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:77:26: error: gst/gstparse.h: No such file or directory
/usr/include/gstreamer-0.10/gst/gst.h:80:27: error: gst/gstcompat.h: No such file or directory
In file included from prg7.cpp:28:
/usr/include/gstreamer-0.10/gst/gst.h:84: error: expected constructor, destructor, or type conversion before 'void'
/usr/include/gstreamer-0.10/gst/gst.h:85: error: 'gboolean' does not name a type
/usr/include/gstreamer-0.10/gst/gst.h:87: error: expected constructor, destructor, or type conversion before '*' token
/usr/include/gstreamer-0.10/gst/gst.h:90: error: variable or field 'gst_version' declared void
/usr/include/gstreamer-0.10/gst/gst.h:90: error: 'guint' was not declared in this scope
/usr/include/gstreamer-0.10/gst/gst.h:90: error: 'major' was not declared in this scope
/usr/include/gstreamer-0.10/gst/gst.h:90: error: 'guint' was not declared in this scope
/usr/include/gstreamer-0.10/gst/gst.h:90: error: 'minor' was not declared in this scope
/usr/include/gstreamer-0.10/gst/gst.h:91: error: 'guint' was not declared in this scope
/usr/include/gstreamer-0.10/gst/gst.h:91: error: 'micro' was not declared in this scope
/usr/include/gstreamer-0.10/gst/gst.h:91: error: 'guint' was not declared in this scope
/usr/include/gstreamer-0.10/gst/gst.h:91: error: 'nano' was not declared in this scope
/usr/include/gstreamer-0.10/gst/gst.h:92: error: expected constructor, destructor, or type conversion before '*' token
/usr/include/gstreamer-0.10/gst/gst.h:94: error: 'gboolean' does not name a type
/usr/include/gstreamer-0.10/gst/gst.h:95: error: variable or field 'gst_segtrap_set_enabled' declared void
/usr/include/gstreamer-0.10/gst/gst.h:95: error: 'gboolean' was not declared in this scope
/usr/include/gstreamer-0.10/gst/gst.h:97: error: 'gboolean' does not name a type
/usr/include/gstreamer-0.10/gst/gst.h:98: error: variable or field 'gst_registry_fork_set_enabled' declared void
/usr/include/gstreamer-0.10/gst/gst.h:98: error: 'gboolean' was not declared in this scope
/usr/include/gstreamer-0.10/gst/gst.h:100: error: 'gboolean' does not name a type
prg7.cpp:31: error: expected constructor, destructor, or type conversion before 'int'


glib установлен
whereis glib
glib: /usr/lib/glib

а вот gst так не виден.
вот что установлено :
yum list installed | grep gstreamer
PackageKit-gstreamer-plugin.i586 0.4.9-1.fc11 installed
gstreamer.i586 0.10.25-1.fc11 installed
gstreamer-devel.i586 0.10.25-1.fc11 @updates
gstreamer-plugins-bad.i586 0.10.13-7.fc11 @rpmfusion-free-updates
gstreamer-plugins-bad-devel.i586 0.10.13-7.fc11 @rpmfusion-free-updates
gstreamer-plugins-base.i586 0.10.25-1.fc11 installed
gstreamer-plugins-base-devel.i586 0.10.25-1.fc11 @updates
gstreamer-plugins-flumpegdemux.i586 0.10.15-6.fc11 installed
gstreamer-plugins-good.i586 0.10.16-1.fc11 @updates
gstreamer-plugins-ugly.i586 0.10.12-2.fc11 @rpmfusion-free-updates
gstreamer-python.i586 0.10.16-1.fc11 installed
gstreamer-tools.i586 0.10.25-1.fc11 installed
gstreamermm.i586 0.10.2-1.fc11 @updates
gstreamermm-devel.i586 0.10.2-1.fc11 @updates
totem-gstreamer.i586 2.26.3-5.fc11 installed


подскажите, пожалуйста, как решить проблему
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Решено: GStreamer gst/gst.h

Сообщение RasenHerz »

с помощью pkg-config настройте флаги копиляции.
Спасибо сказали:
Kuzmit4
Сообщения: 53

Re: Решено: GStreamer gst/gst.h

Сообщение Kuzmit4 »

Подскажите пожалуйста чуть подробнее.
Я так понимаю с помощью pkg-config я укажу компилятору пути к заголовочным файлам?
Какие флаги мне необходимо настроить и как это узнать?
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Решено: GStreamer gst/gst.h

Сообщение RasenHerz »

Kuzmit4 писал(а):
01.11.2009 18:36
Подскажите пожалуйста чуть подробнее.
Я так понимаю с помощью pkg-config я укажу компилятору пути к заголовочным файлам?
Какие флаги мне необходимо настроить и как это узнать?

Кроме того что вы укажете компилятору где искать хедеры, вам остается еще указать какие библиотеки надо линковать с вашей программой.
К примеру если я хочу использовать библиотеку QtGui:

Код: Выделить всё

negativ@negativ:~$ pkg-config --cflags QtGui
-DQT_SHARED -I/usr/include/qt4 -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtCore
negativ@negativ:~$ pkg-config --libs QtGui
-lQtGui -lQtCore

pkg-config --cflags QtGui - выведет список директорий в которых надо искать хедеры и список объявленных переменных (в нашем случае это QT_SHARED)
pkg-config --libs QtGui - выведет список библиотек с которыми надо слинковать ваш бинарник

По аналогии сделайте с GStreamer (список всех библиотек можно получить так: pkg-config --list-all)
Спасибо сказали:
Kuzmit4
Сообщения: 53

Re: Решено: GStreamer gst/gst.h

Сообщение Kuzmit4 »

Извините, возможно я задаю глупые вопросы, я просто новичок
А список объявленных переменных - объявленных где и кем?

т.е. мне надо написать вот так:

Код: Выделить всё

pkg-config --cflags gst -I/usr/include/gstreamer-0.10/gst
pkg-config --libs gst

верно?
Подскажите, пожалуйста, где можно об этом почитать?
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Решено: GStreamer gst/gst.h

Сообщение RasenHerz »

g++ `pkg-config --libs --cflags gst` -o prog main.cpp
в main.cpp должна быть твоя программа. на выходе получишь бинарник prog
Спасибо сказали:
Kuzmit4
Сообщения: 53

Re: Решено: GStreamer gst/gst.h

Сообщение Kuzmit4 »

Это компиляция из командной строки, если я правильно понял. Спасибо, попробую :) Я пытался скомпилить из KDevelop
И для меня остается загадкой, как же компилятор узнает что gst надо искать в gstreamer-0.10
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Решено: GStreamer gst/gst.h

Сообщение RasenHerz »

Ну так напишите скрипт чтобы он компилил вашу программу.
Спасибо сказали:
Kuzmit4
Сообщения: 53

Re: Решено: GStreamer gst/gst.h

Сообщение Kuzmit4 »

Код: Выделить всё

[vk@linux src]$ g++ 'pkg-config --libs --cflags gstreamer-0.10' -o prg prg7.cpp
g++: pkg-config --libs --cflags gstreamer-0.10: Нет такого файла или каталога
prg7.cpp:27:21: error: gst/gst.h: Нет такого файла или каталога

не получается :(
что я делаю неправильно?
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Решено: GStreamer gst/gst.h

Сообщение RasenHerz »

Kuzmit4 писал(а):
04.11.2009 22:25

Код: Выделить всё

[vk@linux src]$ g++ 'pkg-config --libs --cflags gstreamer-0.10' -o prg prg7.cpp
g++: pkg-config --libs --cflags gstreamer-0.10: Нет такого файла или каталога
prg7.cpp:27:21: error: gst/gst.h: Нет такого файла или каталога

не получается :(
что я делаю неправильно?

вы заключили в апострофы 'pkg-config --libs --cflags gstreamer-0.10', а надо в обратные кавычки `pkg-config --libs --cflags gstreamer-0.10`
Спасибо сказали:
Kuzmit4
Сообщения: 53

Re: Решено: GStreamer gst/gst.h

Сообщение Kuzmit4 »

Спасибо большое! я и не подумал что это обратные кавычки :)
Вечером попробую. Спасибо Вам за терпение!
Спасибо сказали:
Kuzmit4
Сообщения: 53

Re: Решено: GStreamer gst/gst.h

Сообщение Kuzmit4 »

Еще раз БОЛЬШОЕ СПАСИБО! простой проект с включением gst/gst.h скомпилился :)
теперь буду пробовать работать с этими библиотека.
Спасибо сказали: