錯誤描述:fatal error C1010: 在查找預編譯頭時遇到意外的文件結尾。是否忘記了向源中添加“#include "stdafx.h"”?
錯誤分析:
此錯誤發生的原因是編譯器在尋找預編譯指示頭文件(默認#include "stdafx.h")時,文件未預期結束。沒有找到預編譯指示信息的頭文件"stdafx.h"。
(因為工程中的每個cpp文件屬性默認都是使用預編譯頭(/YU)的,但是添加的第三方文件並沒有 #include "stdafx.h" 預編譯指示頭,所以編譯器在此cpp文件中一直到末尾都沒有找到它)
我的這個問題發生於我通過添加文件的方式,向MFC內添加現有的一大坨.h和.cpp文件。這些.h和.cpp文件是屬於標准C++的開源源代碼范疇,與MFC無更深層次的關系。
解決方式:
一.
1) 在解決方案資源管理器中,右擊相應的.cpp文件,點擊“屬性”
2) 在左側配置屬性中,點開“C/C++”,單擊“預編譯頭”
3) 更改右側第一行的“創建/使用預編譯頭”,把選項從“使用預編譯頭(/Yu)”改成“不使用預編譯頭”
4) 注:每一個報錯的.cpp都要如此更改哦~辛苦一下唄~
二.
(不推薦)
1)在解決方案右擊工程,點擊屬性
2)在配置屬性 -> c/c++ -> 預編譯頭 中 將 “使用預編譯頭(/YU)” 改為 “不適用預編譯頭”
這種做法會使每次編譯過程非常緩慢