我正在尝试在Visual Studio 2013 C ++软件中使用ffmpeg(最终作为OpenCV项目的一部分) - 但是现在我只是想尝试获得基本的FFMPEG功能。通常,在Visual Studio中构建时,我使用多线程DLL运行时库构建64位软件。我使用http://ffmpeg.org/platform.html#Windows上的“本地Windows编译使用... MinGW-w64”的一般说明构建了ffmpeg(我提供了一系列更详细的步骤,我在下面介绍......)。
在我的系统上构建ffmpeg软件后,我尝试在Visual Studio 2013中创建一个简单的“hello world”项目。具体来说,我尝试实现http://dranger.com/ffmpeg/tutorial01.html处提供的初始教程文件。在构建项目时,我收到错误:
c:\ msys64 \ usr \ local \ ffmpeg \ libavutil \ common.h(45):致命错误C1083:不能 打开包含文件:'libavutil / avconfig.h':没有这样的文件或目录
以下是我为构建ffmpeg和创建我的基本Visual Studio项目所采取的详细步骤:
============建立ffmpeg ===============
update-core
更新Msys2安装pacman -Suu
(两次)以完成更新(按照有关更新快捷方式的说明等)。pacman -S <package-name>
安装了以下软件包我安装的软件包列表是:make,pkg-config,diffutils,mingw-w64-x86_64-yasm,mingw-w64-x86_64-gcc,mingw-w64-x86_64 -SDL,git cd /usr/local
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd /c/ffmpeg
/usr/loca/ffmpeg/configure --enable-shared
make -r
make install
现在,如果我不得不猜测,我的'缺陷'在我调用ffmpeg的'configure'脚本时使用的选项中。我是否需要使用特定选项以便我可以使用此处构建的ffmpeg库并将它们用作Visual Studio中的动态(DLL)库?
==========配置我的Visual Studio项目============
以下是我在Visual Studio中创建一个简单的hello world项目以查看ffmpeg是否正常工作的方法。
然后我按如下方式配置了项目属性:
一个。在C / C ++ =&gt;一般=&gt;附加包含目录,我把
C:\ msys64 \ USR \本地\ ffmpeg的
湾在Linker =&gt; General =&gt;其他库目录,我指向每个构建的库文件夹(基本上我指向所有的库,这些库是为了确保我不会无意中错过关键文件夹而构建的)。清单如下:
℃。在Linker中=&gt;输入=&gt;额外的依赖关系,我指出了特定的库(再次 - 我指出了所有存在的库)。清单是:
然后,我创建了一个名为“tut01.c”的新源文件,并复制/粘贴了http://dranger.com/ffmpeg/tutorial01.c
以上是我最好的猜测,我需要遵循的步骤才能在Windows中运行(顺便说一句,它是Windows 10,64位)&amp; Microsoft Visual Studio 2013.我应该更改以构建和运行此基本程序?
答案 0 :(得分:0)
@halfelf,感谢您的回复。他们让我再看看我的文件,我发现我指的是包含(和lib)文件的错误位置。事实证明,在构建ffmpeg时,它会放置在横向文件夹/usr/local/include
和/usr/local/bin
中,我猜,分别包含更完整的包含和库文件(包括avconfig.h!)我更新了我的Visual Studio项目属性指向这些文件夹,解决了这个问题。
但随后,我遇到了一个新问题“PIX_FMT_RGB24”未被识别。但是,我认为这与我正在使用的教程文件过时有关。我可以删除那些(和相关的)行,代码将构建和执行(尽管它没有做太多,因为删除了'money'代码行)。但至少ffmpeg的基本功能似乎有效。