【问题标题】:Cross-Compiling VLC for Windows errors widl compiling dxgi1_2.idl wine header交叉编译 VLC for Windows 错误 widl 编译 dxgi1_2.idl wine header
【发布时间】: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


    【解决方案1】:

    问题出在酒标上。我需要将 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/
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      • 2015-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多