1、解决错误 fatal error C1010: unexpected end of file while looking for precompiled head

  • 在编译VS时候,出现fatal error C1010: unexpected end of file while looking for precompiled head。问题详细解释:致命错误C1010,在寻找预编译指示头文件时,文件未预期结束。就是没有找到预编译指示信息的问文件。顾名思义就是预编译因为缺少了预编译文件而失败。解决方法显然可以取消预编译,或者帮助编译器找到预编译文件。故解法:1.右键单击项目工程中的cpp文件,在菜单Project->Settings->C/C++->Precompile Header,设置为第一项:Not using precompile headers。2.在.cpp文件开头添加包含文件stdafx.h。 #include"stdafx.h"

2、error C4996: 'avcodec_free_frame': was declared deprecated

今天从一个老的工程中,提取了一段使用ffmpege解码视频的代码,编译工程的时候,出现下面的链接错误
error C4996: 'avcodec_free_frame': was declared deprecated

查看avcodec_free_frame的接口定义,
attribute_deprecated
void avcodec_free_frame(AVFrame **frame);
#endif

这是ffmpeg开发者逐步废弃的接口,  但是,如果我们还不想替换ffmpeg最新的版本, 
老版本也是可以用的,只需在vs中关掉sdl即可。

如下图

 

VS 2013 C++编译问题汇总_解决方法

3、排除c++编译错误error LNK2026: module unsafe for SAFESEH image的方法

编译旧项目时发现的,网上有两个方法,都能用,本质是一样的两个途径,在此列出,方便自己找。

方法一:

VS 2013 C++编译问题汇总_预编译文件_02

按图片的改成No就行了。这个比较便捷。

4、C++ C4996'localtime': This function or variable may be unsafe

解决方法:在报错的文件中添加

#pragma warning(disable:4996)