gpt4 book ai didi

cygwin 上的 FFMPEG 无法编译 libx264 错误 : unknown type name ‘HMODULE’

转载 作者:行者123 更新时间:2023-12-03 20:17:55 25 4
gpt4 key购买 nike

我正在尝试在cygwin环境下在ffmpeg中编译libx264。

我遵循了来自 Koohiimaster's blog 的多个来源的一些指示。 , FFMPEG compilation guide , SO post 1 , SO post 2但我总是停留在同一步骤,即 libx264 编译(制作)过程。

如 FFMPEG 编译指南中所述,应遵循这些步骤以使 libx264 工作

cd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" bindir="$HOME/bin" --enable-static --disable-opencl
PATH="$HOME/bin:$PATH" make
make install

但是当我输入这个命令 PATH="$HOME/bin:$PATH" make编译器总是停止并出现以下错误:
In file included from input/avs.c:49:0:
./extras/avisynth_c.h:825:3: error: unknown type name ‘HMODULE’
HMODULE handle;
^

我想知道这是否是 libx264 源的错误,但在我尝试了几个早期的源版本后,它产生了同样的错误。有什么想法可以解决这个问题吗?

最佳答案

信息

类型HMODULEWinDef.h 中声明.所以你缺少包含这个标题。我认为通常 WinDef.h包含在 windows.h 中.

备选方案 1:没有 AVS

如果您不需要 avs 支持,您可以禁用它并查看它是否有效:

PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" bindir="$HOME/bin" --enable-static --disable-opencl --disable-avs

实际上,这是一个不错的选择,只需检查一下,看看它是否可以为您提供有关问题的更多信息。

备选方案 2:检查 windows.h

另一件事是检查哪个 windows.h文件在您的配置中使用。

在 libx264 源中 input/input.h包括 windows.h .
input.h然后它本身被 avs.c 包含在内. avs.c还包括 extras/avisynth_c.h此后。所以总而言之,当行 HMODULE handle为编译器显示 windows.h应该已经包含了(应该包含 WinDef.h)。

所以要么你的 windows.h文件不知何故“错误”或在预处理过程中确实出了问题。

关于cygwin 上的 FFMPEG 无法编译 libx264 错误 : unknown type name ‘HMODULE’ ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45181102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com