交叉编译VLC for Windows错误widl编译dxgi1_2.idl wine header

时间:2016-08-09 19:53:18

标签: cross-compiling vlc libvlc mingw-w64

我正在尝试在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。我希望有人能给我成功的步骤。

提前致谢。

1 个答案:

答案 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/