Ошибка времени выполнения GStreamer в ОС Ma c - PullRequest
0 голосов
/ 09 апреля 2020

Я пробую документированные учебники gstreamer здесь . Я довольно плохо знаком с программированием C. Во время работы программы я столкнулся со следующей ошибкой.

./basic-tutorial-1
dyld: lazy symbol binding failed: Symbol not found: _g_libintl_dgettext
  Referenced from: /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstreamer-1.0.0.dylib
  Expected in: /usr/local/lib/libintl.8.dylib

dyld: Symbol not found: _g_libintl_dgettext
  Referenced from: /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstreamer-1.0.0.dylib
  Expected in: /usr/local/lib/libintl.8.dylib

Я попытался с помощью команды otool увидеть пути зависимости, и это было результатом.

otool -L ./basic-tutorial-1
./basic-tutorial-1:
    /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstreamer-1.0.0.dylib (compatibility version 1603.0.0, current version 1603.0.0)
    /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgobject-2.0.0.dylib (compatibility version 5601.0.0, current version 5601.1.0)
    /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libglib-2.0.0.dylib (compatibility version 5601.0.0, current version 5601.1.0)
    /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.5.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.250.1)

Я сомневаюсь причина может заключаться в том, что во время выполнения на libintl ссылаются из / usr / local / lib вместо того, который поставляется с gstreamer. Может кто-нибудь дать мне указание о том, как я должен go исправить это.

Ниже приведена команда, которую я использую для компиляции программы

 gcc basic-tutorial-1.c -o basic-tutorial-1 `pkg-config --cflags --libs gstreamer-1.0`
...