vs编译错误:在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h”?
vs2015編譯出現(xiàn)以下錯(cuò)誤:
在查找預(yù)編譯頭時(shí)遇到意外的文件結(jié)尾。是否忘記了向源中添加“#include "stdafx.h"”?
一、錯(cuò)誤分析:
此錯(cuò)誤發(fā)生的原因是編譯器在尋找預(yù)編譯指示頭文件(默認(rèn)#include "stdafx.h")時(shí),文件未預(yù)期結(jié)束。沒有找到預(yù)編譯指示信息的頭文件"stdafx.h"。
?(因?yàn)楣こ讨械拿總€(gè)cpp文件屬性默認(rèn)都是使用預(yù)編譯頭(/YU)的,但是添加的第三方文件并沒有 #include "stdafx.h" 預(yù)編譯指示頭,所以編譯器在此cpp文件中一直到末尾都沒有找到它)
我的這個(gè)問題發(fā)生于我通過添加文件的方式,向MFC內(nèi)添加現(xiàn)有的一大坨.h和.cpp文件。這些.h和.cpp文件是屬于標(biāo)準(zhǔn)C++的開源源代碼范疇,與MFC無更深層次的關(guān)系。
?
二、解決方式:
1、推薦使用
1) 在解決方案資源管理器中,右擊相應(yīng)的.cpp文件,點(diǎn)擊“屬性”
2) 在左側(cè)配置屬性中,點(diǎn)開“C/C++”,單擊“預(yù)編譯頭”
3) 更改右側(cè)第一行的“創(chuàng)建/使用預(yù)編譯頭”,把選項(xiàng)從“使用預(yù)編譯頭(/Yu)”改成“不使用預(yù)編譯頭”
4) 注:每一個(gè)報(bào)錯(cuò)的.cpp都要如此更改。
2.(不推薦)
1)在解決方案右擊工程,點(diǎn)擊屬性
2)在配置屬性 -> c/c++ -> 預(yù)編譯頭 中 將 “使用預(yù)編譯頭(/YU)” 改為 “不使用預(yù)編譯頭”
這種做法會(huì)使每次編譯過程非常緩慢。
?
說明:
?貌似也可以直接在.cpp頭文件上include stdafx.h。但沒嘗試如此修改,不想破壞源代碼的標(biāo)準(zhǔn)性。
總結(jié)
以上是生活随笔為你收集整理的vs编译错误:在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include stdafx.h”?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 力扣有没有java_力扣 APP 全新改
- 下一篇: LED设计规范