Visual studio 2010 使用Visual Studio 2010、MFC和FFmpeg构建
我正在Visual Studio 2010中使用FFmpeg和SDL构建一个Windows MFC应用程序。但是,在从头创建MFC项目并包含FFmpeg开发库(avcodec.lib、avdevice.lib、avformat.lib等)之后,我无法构建该项目。我正在使用来自的开发构建。我已在项目属性中配置了以下内容:Visual studio 2010 使用Visual Studio 2010、MFC和FFmpeg构建,visual-studio-2010,mfc,ffmpeg,Visual Studio 2010,Mfc,Ffmpeg,我正在Visual Studio 2010中使用FFmpeg和SDL构建一个Windows MFC应用程序。但是,在从头创建MFC项目并包含FFmpeg开发库(avcodec.lib、avdevice.lib、avformat.lib等)之后,我无法构建该项目。我正在使用来自的开发构建。我已在项目属性中配置了以下内容: 设置VC++目录->包含目录(添加FFmpeg“包含”目录) 设置VC++目录->库目录(到FFmpeg“lib”目录) 设置链接器->输入->其他依赖项(包括avcodec.l
ClCompile:
stdafx.cpp
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\atltime.h(371):错误C3861:“\u mktime64”:找不到标识符
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\atltime.h(386):错误C3861:“\u localtime64\u s”:找不到标识符
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\atltime.h(409):错误C3861:“\u gmtime64\u s”:找不到标识符
c:\program files\microsoft SDK\windows\v7.0a\include\intsafe.h(144):警告C4005:“INT8\u MIN”:宏重新定义
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxtaskspane.h(279):错误C2146:语法错误:缺少“;”在标识符“m_nlastanime”之前
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxribboncategory.h(282):错误C2146:语法错误:缺少“;”在标识符'm_ActiveTime'之前
c:\program files\microsoft visual studio 10.0\vc\atlmfc\include\afxdockingmanager.h(353):错误C2146:语法错误:缺少“;”在标识符“m_clkLastTime”之前
生成失败。
我引用了这两篇文章,它们都很有帮助:
我想你所做的就是这样。当您完成前两步时
- 设置VC++目录->包含目录(添加了FFmpeg
“包括”目录)
- 设置VC++目录->库目录
(到FFmpeg“lib”目录)
您已将它们包含在MFC和ATL路径之前的列表顶部。请使用向上/向下按钮将其移动到列表底部。这应该能解决问题我想你所做的就是这样。当您完成前两步时
- 设置VC++目录->包含目录(添加了FFmpeg
“包括”目录)
- 设置VC++目录->库目录
(到FFmpeg“lib”目录)
您已将它们包含在MFC和ATL路径之前的列表顶部。请使用向上/向下按钮将其移动到列表底部。这应该可以解决这个问题看一看——它有一个小型的Visual Studio 2010项目,该项目基于Zeranoe二进制文件构建
请注意,您需要一个
inttypes.h
文件才能成功构建
您的日志显示了stdafx.cpp
的问题,这意味着您的搜索路径设置错误,或者stdafx.h
中有问题。将FFmpeg目录放在搜索列表的顶部可能会奏效,但它同样可能会破坏MFC部分的构建。我宁愿将它们放在列表的底部,但是代码本身应该具有显式的#include
s的正确顺序。看一看-它有一个小型Visual Studio 2010项目,该项目基于Zeranoe二进制文件构建
请注意,您需要一个inttypes.h
文件才能成功构建
您的日志显示了stdafx.cpp
的问题,这意味着您的搜索路径设置错误,或者stdafx.h
中有问题。将FFmpeg目录放在搜索列表的顶部可能会奏效,但它同样可能会破坏MFC部分的构建。我宁愿将它们放在列表的底部,但是代码本身应该有正确的顺序,即显式的\include
s。谢谢!那是我的问题。对于其他有相同问题的用户,VisualStudio在使用“包含目录”对话框时,默认情况下会将包含添加到列表的前面。您必须手动将其移动到前面的$(IncludePath)变量:$(IncludePath);C:\lib\ffmpeg-20130110-git-2672b2c-win32-dev\include代码>谢谢!那是我的问题。对于其他有相同问题的用户,VisualStudio在使用“包含目录”对话框时,默认情况下会将包含添加到列表的前面。您必须手动将其移动到前面的$(IncludePath)变量:$(IncludePath);C:\lib\ffmpeg-20130110-git-2672b2c-win32-dev\include代码>谢谢,我不知道我怎么会在发布前错过搜索SO的页面,但我想最终它不会解决我的古怪的包含订购问题。我之前确实包含了inttypes.h
,所以这不是问题所在。谢谢,我不知道在发布前我怎么会错过搜索so的页面,但我想最终它不会解决我的古怪的包含订购问题。我以前确实包含了inttypes.h
,所以这不是问题所在。