Ошибка построения Mlt в Windows с использованием MinGw. Неопределенная ссылка dlsym dlclose dlopen dlerror dlclose

Я столкнулся с некоторыми проблемами при построении среды MLT для окон с использованием MinGw. Я пытался следовать инструкциям на http://www.mltframework.org/bin/view/MLT/WindowsBuild. Я выполнил каждый шаг до шага под названием "Сборка". Вот что дает 7-й шаг главы "Сборка":

 $ ./configure --prefix=$HOME/build --enable-gpl --disable-decklink
 Configuring framework:
 Configuring modules:
 Configuring modules/avformat:
 - libavformat not found: disabling
 Configuring modules/core:
 Configuring modules/dv:
 - libdv not found: disabling
 Configuring modules/feeds:
 Configuring modules/frei0r:
 Package frei0r was not found in the pkg-config search path.
 Perhaps you should add the directory containing `frei0r.pc'
 to the PKG_CONFIG_PATH environment variable
 No package 'frei0r' found
 Configuring modules/gtk2:
 - GTK2 components not found: disabling
 Configuring modules/jackrack:
 - jackrack not found: disabling
 - xml2 not found: disabling jackrack
 - ladspa not found; disabling
 Configuring modules/kdenlive:
 Configuring modules/kino:
 - does not build on OS X or Windows: disabling
 Configuring modules/linsys:
 - does not build on OS X or Windows: disabling
 Configuring modules/lumas:
 Configuring modules/motion_est:
 Configuring modules/normalize:
 Configuring modules/oldfilm:
 Configuring modules/opengl:
 - movit not found: disabling
 Configuring modules/plus:
 Configuring modules/plusgpl:
 Configuring modules/qt:
 - Qt not found - disabling
 ./configure: line 150: kde4-config: command not found
 Configuring modules/resample:
 - libsamplerate not found: disabling
 Configuring modules/rtaudio:
 Configuring modules/sdl:
 Configuring modules/sox:
 - sox not found: disabling
 Configuring modules/swfdec:
 - swfdec not found: disabling
 Configuring modules/vid.stab:
 - vid.stab not found: disabling
 Configuring modules/videostab:
 Configuring modules/vmfx:
 Configuring modules/vorbis:
 - ogg vorbis not found: disabling
 Configuring modules/xine:
 Configuring modules/xml:
 - xml2 not found: disabling xml module
 Configuring mlt++:
 Configuring swig:
 GPLv2 license used; GPLv3 components disabled

Похоже, что даже на этапе настройки некоторые библиотеки отсутствуют, я не уверен, что эти недостающие библиотеки являются критически важными...

При попытке выполнить восьмой шаг "Сборка", который называется "сделать все установки", сборка завершается неудачно, и MinGw выдает ошибку:

 C:\MinGW\msys\1.0\home\Benas\src\mlt\src\framework/mlt_repository.c:101: undefined reference to `dlsym'
 C:\MinGW\msys\1.0\home\Benas\src\mlt\src\framework/mlt_repository.c:109: undefined reference to `dlclose'
 C:\MinGW\msys\1.0\home\Benas\src\mlt\src\framework/mlt_repository.c:97: undefined reference to `dlopen'
 C:\MinGW\msys\1.0\home\Benas\src\mlt\src\framework/mlt_repository.c:118: undefined reference to `dlerror'
 C:\MinGW\msys\1.0\home\Benas\src\mlt\src\framework/mlt_repository.c:113: undefined reference to `dlclose'
 collect2.exe: error: ld returned 1 exit status
 make[1]: *** [libmlt-6.dll] Error 1
 make[1]: Leaving directory `/home/Benas/src/mlt/src/framework'
 make: *** [all] Error 1

Это должно быть потому, что компилятор не может найти dlfcn.dll. У меня завершен шаг "dlfcn-win32" из учебника, и эту библиотеку можно найти как в C:\MinGW\bin, так и в C:\MinGW\msys\1.0\home\Benas\build . Мне интересно, почему компилятор не может видеть это и есть ли способ, как я могу заставить его работать?

2 ответа

Проблема, я полагаю, в том, что dlfcn не предоставляет файл.pc, который pkg-config будет использовать для поиска cflags и libs. Я считаю, что вы правильно установили SDL. Вы можете имитировать SDL.pc (обычно это /usr/local/lib/pkg-config/) и написать dl.pc самостоятельно.

Я думаю, ваша платформа не обнаружена правильно. Попробуйте указать целевую ОС в качестве параметра конфигурации:

./configure --target-os=MinGW
Другие вопросы по тегам