【发布时间】:2016-08-09 19:53:17
【问题描述】:
我正在尝试在 MacBook Pro 上托管的 Debian 8.5 VM 上为 windows 交叉编译 VLC。我按照这里的说明进行操作:https://wiki.videolan.org/Win32Compile/
我正在使用 x86_64-w64-mingw32 主机三元组。
使用预编译的贡献会导致错误。听从这篇文章的建议:https://forum.videolan.org/viewtopic.php?f=32&t=134115
我使用 5.3.3 版源构建了一个新的 mingw64,但构建仍然失败。根据 videolan 论坛的更多建议,我重建了 mingw64 编译器并尝试编译贡献。我遇到了与论坛帖子中报告的相同的异常。 make 控制台输出的相关部分是:
mkdir -p dxgi12
cp ../../contrib/tarballs/dxgi1_2.idl dxgi12 && cd dxgi12 && patch -fp1 < ../../../contrib/src/d3d11/dxgi12.patch
patching file dxgi1_2.idl
mkdir -p -- "/home/deb/vlc/contrib/x86_64-w64-mingw32/include/"
x86_64-w64-mingw32-widl -DBOOL=WINBOOL -I/usr/include/wine/windows/ -h -o /home/deb/vlc/contrib/x86_64-w64-mingw32/include/dxgi1_2.h dxgi12/dxgi1_2.idl
dxgi12/dxgi1_2.idl:43: error: syntax error, unexpected aKNOWNTYPE, expecting tIMPORT
../../contrib/src/d3d11/rules.mak:63: recipe for target '/home/deb/vlc/contrib/x86_64-w64-mingw32/include/dxgi1_2.h' failed
make: *** [/home/deb/vlc/contrib/x86_64-w64-mingw32/include/dxgi1_2.h] Error 1
因为,正如上面的论坛帖子所指出的,这可能是 wine headers 的问题,我安装了所有相关的 wine 开发包(我认为)并重试了该过程,但总是以同样的错误结束。
我确信人们已经为 windows 交叉编译了 vlc。我希望有人能给我成功的步骤。
提前致谢。
【问题讨论】:
标签: cross-compiling vlc libvlc mingw-w64