使用ffmpeg libs(dll)时,我的应用程序中缺少dll文件

使用ffmpeg libs(dll)时,我的应用程序中缺少dll文件,dll,ffmpeg,runtime-error,mingw-w64,msys2,Dll,Ffmpeg,Runtime Error,Mingw W64,Msys2,我使用mingw-64和msys2在Windows8.1、CoreI-7中构建了ffmpeg v3.2.4共享库(dll)。 原因是更新项目中使用的旧库。 建造还可以 此外,我的应用程序已成功链接到这些dll。 但是,当我运行我的应用程序时,我收到一条消息程序无法启动,因为您的计算机中缺少libiconv-2.dll。我通过在运行make之前在configure中添加--禁用iconv开关来克服这个问题,从而从源代码构建ffmpeg库。 然后我得到了同样的消息,zlib dll丢失了。然后添加了

我使用mingw-64和msys2在Windows8.1、CoreI-7中构建了ffmpeg v3.2.4共享库(dll)。 原因是更新项目中使用的旧库。 建造还可以

此外,我的应用程序已成功链接到这些dll。 但是,当我运行我的应用程序时,我收到一条消息
程序无法启动,因为您的计算机中缺少libiconv-2.dll
。我通过在运行
make
之前在
configure
中添加
--禁用iconv
开关来克服这个问题,从而从源代码构建ffmpeg库。 然后我得到了同样的消息,zlib dll丢失了。然后添加了
--禁用zlib
开关。 但是,我得到了
libbz2-1.dll
在运行应用程序时丢失。我不知道如何解决最后一个问题,但是,我遗漏了什么?为什么在旧的ffmpeg版本()中我不需要所有这些dll文件,而现在我需要((签出标签n3.2.4))

谢谢你的回答,
Aviv

您可能需要禁用configure.ffmpeg中的
外部自动检测库列表中提到的所有库。ffmpeg只是依赖于许多库,完成其工作需要这些库。抵制是徒劳的,希望其他程序的安装程序将它们放在路径上的一个目录中,从而保证破坏您的程序,只需将DLL复制到与EXE相同的目录中。有没有简单的方法来禁用这些外部依赖项的使用?或者我应该为每个库/依赖项使用一个“-disable”开关吗?我需要复制更新ffmpeg libs版本后从未复制过的dll,这有点奇怪。此外,我的项目也编译到linux,而且我从来没有将这些外部库复制到可执行文件旁边