0

我在使用 MinGw 在 Windows 上构建 MLT 框架时遇到了一些问题。我尝试按照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

看起来即使在配置阶段也缺少一些库,但我不确定这些缺少的库是否是关键任务......

当尝试执行名为“make all install”的第 8 个“构建”步骤时,构建失败并且 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 上找到该库。我想知道为什么编译器看不到它,有什么办法可以让它工作吗?

4

2 回答 2

0

我猜你的平台没有被正确检测到。尝试将目标操作系统指定为配置参数:

./configure --target-os=MinGW
于 2014-05-31T11:25:48.013 回答
0

问题是,我猜,dlfcn 没有提供 .pc 文件,pkg-config 将使用该文件来查找 cflags 和 libs。我相信您已经正确安装了 SDL。您可以模仿 SDL.pc(通常在 /usr/local/lib/pkg-config/ 下)并自己编写一个 dl.pc。

于 2014-04-07T08:57:49.893 回答