|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
|||||||||||||||||
Сборка через makefile gstreamer плеера06.08.2018, 12:16. Показов 2696. Ответов 38
Метки нет (Все метки)
Всем привет, под линуксом не работал раньше. Нашел пример плеера с использованием gstreamer. Клонировал репозиторий пытаюсь в директории выполнить make! А там валят ошибки (на скрине). Собираю на виртуальной машине. Я установил пакеты gtk2.0, libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev,
Собственно сам Makefile Кликните здесь для просмотра всего текста
Там один дядька в ишю написал следующее, но я не понимаю как это применить в текущем makefile.
Кликните здесь для просмотра всего текста
Я пытался собрать через gcc, такая же петрушка...
0
|
|||||||||||||||||
| 06.08.2018, 12:16 | |
|
Ответы с готовыми решениями:
38
Сборка компактного аудио плеера читающего FLAC, MP3, WMA... Компиляция через Makefile Make, makefile, simple makefile, hello_world |
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
|
| 06.08.2018, 13:04 | |
|
Где-то у вас не хватает параметра -I "путь до gst/gst.h", поэтому возникает ошибка компиляции
Поищите, у вас в системе есть такой файл вообще?? Проверьте, что pkg-config выдает правильные пути.
0
|
|
|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
|||||||
| 06.08.2018, 14:29 [ТС] | |||||||
0
|
|||||||
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
|||||||||||
| 06.08.2018, 14:57 | |||||||||||
2. pkg-config - это утилита, которая может выдавать разного рода информацию об установленных в системе библиотеках (как прикладных, так и системных.... чаще первое). Такая информация нужна чаще всего компилятора для линковки (компоновки) с этими библиотеками. Поэтому, когда вы пишите pkg-config --cflags --libs gstreamer-1.0, то вам будет выдана строчка из параметров для компилятора, которую нужно подсунуть компилятору, чтобы скопилироваться/скомпоноваться с заданной бибилиотекой. Например на моей системе
1. найти, файл вообще существует?? установлена ли соответствующая бибилиотека если файл не найден, ищите в интернете какому пакету он в убунте соответствует (у меня нет убунту под рукой, я не могу посмотреть) 2. если файл найден, определите, какому пакету он принадлежит. в убунту это кажется делается командой dpkg... поищите в интернете ubuntu what package provides file.... сразу найдете 3. дальше подставьте название этого пакета в pkg-config, чтобы увидеть вывод, то ли подставляется в компилятор
1
|
|||||||||||
|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
|
| 06.08.2018, 15:42 [ТС] | |
|
Спасибо за разъяснения, попробовал снова из строки построить один файл а не оба, теперь уже какая-то проблема в коде видать.
0
|
|
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
||||||
| 06.08.2018, 15:54 | ||||||
|
Нет, проблема не в коде.
При линковке не хватает библиотеки, в которой есть соответствующие функции. Поэтому и ошибка: undefined reference Скорее всего для pkg-config не хватает названия какого-то пакета, в библиотеках которого эти функции реализованы. Здесь искать сложнее. Попробуйте команду
1
|
||||||
|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
|
| 06.08.2018, 16:39 [ТС] | |
|
Долго искал, нашел свой gstreamer в папке usr/share. Буду ковырять дальше.
0
|
|
|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
||||||
| 06.08.2018, 17:14 [ТС] | ||||||
|
Все, я сломался... Теперь идет компиляция, ошибок нет, но тупо ворнинги что сигнатуры методов не найдены и ошибка сборки...
Пути как бы теперь вроде ок.
0
|
||||||
|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
||
| 06.08.2018, 17:30 [ТС] | ||
|
У меня на команду пакетов дало вот такой адрес:
0
|
||
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
||||||
| 07.08.2018, 00:54 | ||||||
|
Обратите внимание на патч в вашем первом посте. Скорее всего уже в этом проблема.
Применить его очень просто. Строчку с "-" замените на строчку с "+" в вашем Makefile вручную (либо см. утилиту patch и примеры работы с ней) Указанное исправление меняет порядок следования объектных файлов и библиотек в командой строке вызова компилятора, что также является важным при линковке. Ну и совсем чтобы лоск. Лучше параметр -L вынести из GTK_LIBS и перенести в LDFLAGS. После CFLAGS в Makefile добавьте строчку
1
|
||||||
|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
|
| 07.08.2018, 09:06 [ТС] | |
|
Короче получилось, что вроде линковщик собрал но в конце вывел не красным 1 ошибку, и появились два файла .o Я так и не понял, все сбилдилось или все-таки нет? =) Оказывается помимо это, еще под линукс надо пакет пилить из этих артефактов. Что бы запустить этот плеер.
0
|
|
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
||
| 07.08.2018, 09:09 | ||
Последняя команда, которую вы давали на скриншоте делала окончательную линковку. Должен был появиться исполняемый файл gst-player-1.0 (параметр -o).
0
|
||
|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
||||||
| 07.08.2018, 09:15 [ТС] | ||||||
|
Ааааа, вот он не появился у меня. В общем где-то собака зарылась..
Я уже по другому мейк файлу собираю
0
|
||||||
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
|||||||
| 07.08.2018, 09:24 | |||||||
2. /gst висит в воздухе перед shell. Пробел между ними зачем?? опечатка?? 3. LIBS нужны когда уже идет компоновка (читай линковка) исполняемого файла из объектных кодов и библиотек. Вот здесь как раз нужен параметр -L, чтобы компилятор (он же линковщик) смогу найти недостающие коды функций, к которым обращается компонуемая программа. -L чаще всего помещают именно в LDFLAGS. У уже писал как его сделать
1
|
|||||||
|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
|
| 07.08.2018, 12:30 [ТС] | |
|
Так, у меня началось все строится, просто там проблема уже в исходниах и АПИ. В новой версии стримера нет либы xoverlay.h, но есть videooverlay. Теперь собирается, но идут ворнинги по функциями, то типы не те передаваемые то ссылки нет и тд.. ..
Добавлено через 20 минут Все, точно... Полез в исходники. Добавлено через 2 часа 12 минут Ешкин ее кот. Поправил исходники, ошибок нет. А вот ссылки не находит. Снова видеть при сборке не находит либы скотина...
0
|
|
|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
|
| 07.08.2018, 12:39 [ТС] | |
|
Так, у меня началось все строится, просто там проблема уже в исходниах и АПИ. В новой версии стримера нет либы xoverlay.h, но есть videooverlay. Теперь собирается, но идут ворнинги по функциями, то типы не те передаваемые то ссылки нет и тд.. ..
Добавлено через 20 минут Все, точно... Полез в исходники. Добавлено через 2 часа 12 минут Ешкин ее кот. Поправил исходники, ошибок нет. А вот ссылки не находит. Снова при сборке не находит либы скотина... Прикреплю к сообщению. Может кто-то сможет собрать это чудо юдо, или хотя бы помочь, где и что надо изменить в путях.
0
|
|
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
||||||
| 07.08.2018, 15:17 | ||||||
|
Вот с таким make-файлом на моей системе все собирается
Ищите, что у вас с установками пакетов и pkg-config
0
|
||||||
|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
|
| 07.08.2018, 15:36 [ТС] | |
|
Мне интересно - работает? Гуй есть у плеера?
Добавлено через 15 минут У меня все хедеры висят в папке include. Например /usr/include/gstreamer-1.0/gst /usr/include/glib-2.0/ /usr/include/gtk-2.0/ (и тут две папки gdk и gtk) Помогите в мейк эти пути прописать пожалуйста.
0
|
|
|
1263 / 977 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
|
|||||||||||||||||||||||||||
| 07.08.2018, 15:55 | |||||||||||||||||||||||||||
|
Что-то запускается, но файл отказался играть, мотивируя playbin2 backend failed
0
|
|||||||||||||||||||||||||||
|
89 / 77 / 38
Регистрация: 11.10.2015
Сообщений: 860
|
||
| 07.08.2018, 15:59 [ТС] | ||
|
pkg-config - он же есть у меня и --cflags есть.
0
|
||
| 07.08.2018, 15:59 | |
|
Помогаю со студенческими работами здесь
20
Как создать makefile через CMD Windows 10? При запуске Makefile выдается ошибка "Makefile:2: recipe for target 'all' failed" Подключение стационарного медиа плеера к компьютеру через wi-fi Уровень заряда через USB с плеера Intenso
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
|
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи
и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|