我正在尝试在MacBook Pro上托管的Debian 8.5 VM上交叉编译VLC for Windows。我按照这里的说明进行操作:https://wiki.videolan.org/Win32Compile/
我正在使用x86_64-w64-mingw32主机三元组。
使用预编译的contrib会导致错误。根据这篇文章的建议:https://forum.videolan.org/viewtopic.php?f=32&t=134115
我使用5.3.3版本源构建了一个新的mingw64,但构建仍然失败。根据videolan论坛的更多建议,我重建了mingw64编译器并尝试编译contrib。我遇到了与论坛帖子中报告的相同的异常。 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
正如上面的论坛帖子指出的那样,这可能是葡萄酒标题的一个问题,我安装了所有相关的葡萄酒开发包(我认为)并重新尝试过程,但总是以相同的错误结束。
我确信人们已经为Windows编译了交叉编译的vlc。我希望有人能给我成功的步骤。
提前致谢。
答案 0 :(得分:3)
问题在于葡萄酒标题。我需要将rules.mak文件指向/ usr / include / wine-development / windows文件夹。我在videolan论坛上找到了答案:https://forum.videolan.org/viewtopic.php?f=32&t=134115
apt-get install wine64-development-tools
modify contib\src\d3d9\rules.mak and contrib\src\d3d11\rules.mak IDL_INC_PATH = /usr/include/wine/windows/ to IDL_INC_PATH = /usr/include/wine-development/windows/