VS 2013 C++編譯問題彙總

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即可。

如下圖

 

3、排除c++編譯錯誤error LNK2026: module unsafe for SAFESEH image的方法

編譯舊項目時發現的,網上有兩個方法,都能用,本質是一樣的兩個途徑,在此列出,方便自己找。

方法一:(http://www.cnblogs.com/loongfee/archive/2012/10/25/2738322.html)

按圖片的改成No就行了。這個比較便捷。

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

解決方法:在報錯的文件中添加
#pragma warning(disable:4996)

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章