Cross-Compiling Windows 的 VLC 编译 dxgi1_2.idl wine header 错误
Cross-Compiling VLC for Windows errors widl compiling dxgi1_2.idl wine header
我正在尝试在 MacBook Pro 上托管的 Debian 8.5 VM 上为 windows 交叉编译 VLC。我按照这里的说明操作:https://wiki.videolan.org/Win32Compile/
我正在使用 x86_64-w64-mingw32 主机三元组。
使用 pre-compiled 贡献导致错误。遵循此 post 的建议:https://forum.videolan.org/viewtopic.php?f=32&t=134115
我使用 5.3.3 版本的源构建了一个新的 mingw64,但构建仍然失败。根据 videolan 论坛的更多建议,我重建了 mingw64 编译器并尝试编译贡献。我遇到了与论坛 posts 中报告的相同的异常。 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
因为,正如上面的论坛 post 指出的,这可能是 wine headers 的问题,我安装了所有相关的 wine 开发包(我认为)并重试了这个过程,但总是以同样的错误结束。
我确定人们 cross-compiled vlc windows。我希望有人能给我成功的步骤。
提前致谢。
问题出在酒上 headers。我需要将 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/
我正在尝试在 MacBook Pro 上托管的 Debian 8.5 VM 上为 windows 交叉编译 VLC。我按照这里的说明操作:https://wiki.videolan.org/Win32Compile/
我正在使用 x86_64-w64-mingw32 主机三元组。
使用 pre-compiled 贡献导致错误。遵循此 post 的建议:https://forum.videolan.org/viewtopic.php?f=32&t=134115
我使用 5.3.3 版本的源构建了一个新的 mingw64,但构建仍然失败。根据 videolan 论坛的更多建议,我重建了 mingw64 编译器并尝试编译贡献。我遇到了与论坛 posts 中报告的相同的异常。 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
因为,正如上面的论坛 post 指出的,这可能是 wine headers 的问题,我安装了所有相关的 wine 开发包(我认为)并重试了这个过程,但总是以同样的错误结束。
我确定人们 cross-compiled vlc windows。我希望有人能给我成功的步骤。
提前致谢。
问题出在酒上 headers。我需要将 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/