LINUX.ORG.RU

Статически слинковать программу с gstreamer


0

0

Хочу сабж.

Код приблизительно такой:

int main (int   argc, char *argv[]) {
  g_type_init ();
  gst_init (&argc, &argv);
  return 0;
}

Все нужные инклуды есть. Динамически все собирается и исполняется прекрасно. Если в ключах gcc указываю что-то вроде

$ gcc [поскипано] -Wl,-static -lgstreamer-0.10 -lgmodule-2.0 -lgthread-2.0 -lgobject-2.0 -Wl,-Bdynamic [тоже поскипано]

программа собирается, но при запуске выдает

(test:23426): GLib-GObject-CRITICAL **: /build/buildd/glib2.0-2.22.3/gobject/gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function

(test:23426): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed

Хотя g_type_init () есть в коде.

Буду благодарен за помощь.

Да, использую default language, - c.

KDE41user
() автор топика
Ответ на: комментарий от dimon555

pkg-config

Да, спасибо. Просмотрел либы и поменял их порядок. Теперь программа запускается, но когда начинает обрабатывать поток, выдает

(test:18326): GLib-GObject-WARNING **: cannot register existing type `GstObject'

(test:18326): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed

Копаю дальше. Буду благодарен за помощь =)

KDE41user
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.