我正在使用 FFmpeg 和 SDL 在 Visual Studio 2010 中构建 Windows MFC 应用程序。但是,在从头开始创建 MFC 项目并包含 FFmpeg 开发库(avcodec.lib、avdevice.lib、avformat.lib 等)后,我无法构建项目。我正在使用来自Zeranoe FFmpeg的开发版本。我在项目属性中配置了以下内容:
- 设置 VC++ 目录 -> 包含目录(添加了 FFmpeg “包含”目录)
- 设置 VC++ 目录 -> 库目录(到 FFmpeg“lib”目录)
- 设置链接器 -> 输入 -> 附加依赖项(包括 avcodec.lib 等)
对于它的价值,当我从 VC++ 目录 -> 包含目录中省略 FFmpeg 的“include\libavutil”包含时,构建成功。
以下是我收到的一些第一个构建错误(我不会全部发布,因为它很长)。任何帮助,将不胜感激。
ClCompile:
stdafx.cpp
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\atltime.h(371): error C3861: '_mktime64': identifier not found
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\atltime.h(386): error C3861: '_localtime64_s': identifier not found
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\atltime.h(409): error C3861: '_gmtime64_s': identifier not found
c:\program files\microsoft sdks\windows\v7.0a\include\intsafe.h(144): warning C4005: 'INT8_MIN' : macro redefinition
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxtaskspane.h(279): error C2146: syntax error : missing ';' before identifier 'm_nLastAnimTime'
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxribboncategory.h(282): error C2146: syntax error : missing ';' before identifier 'm_ActiveTime'
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxdockingmanager.h(353): error C2146: syntax error : missing ';' before identifier 'm_clkLastTime'
Build FAILED.
我参考了这两篇文章,它们都有帮助: