最近有朋友在編譯我提供的【Visual C++】游戲開(kāi)發(fā)某一節(jié)筆記的源代碼的時(shí)候,提到出現(xiàn) “fatal error C1083:
無(wú)法打開(kāi)包括文件:“StdAfx.h”這個(gè)錯(cuò)誤。這里我專門(mén)找了點(diǎn)資料,然后部分修改,寫(xiě)成了一篇博文發(fā)出來(lái),希望能對(duì)出現(xiàn)這個(gè)問(wèn)題的朋友們有所幫助。
這個(gè)錯(cuò)誤大都是由于預(yù)編譯頭文件及#include<stdafx.h>這兩者的關(guān)系糾纏不清引起的,呵呵。
這里我們采用vs2010講解,其他版本其實(shí)操作方案也差不多。
1、如果在Visual C++工程的.cpp文件中包含了代碼#include<stdafx.h>,則工程就需要將屬性設(shè)置為:“使用預(yù)編譯頭”,具體方案是對(duì)“資源管理器”里的工程右擊->【屬性】->【配置屬性】->【C/C++】->【預(yù)編譯頭】,然后【創(chuàng)建/使用預(yù)編譯頭】選擇“使用”
具體操作可以看我截的圖:

2、如果.cpp文件里包含了stdafx.h文件,設(shè)置為“不使用預(yù)編譯頭”,可能會(huì)編譯就出現(xiàn)錯(cuò)誤的,
fatal error C1083: 無(wú)法打開(kāi)包括文件:“StdAfx.h”: No such file or directory,
所以設(shè)置為“創(chuàng)建預(yù)編譯頭”,或者設(shè)置為“使用預(yù)編譯頭”。
3、如果出現(xiàn)下面錯(cuò)誤: fatal error C1010: 在查找預(yù)編譯頭時(shí)遇到意外的文件結(jié)尾。是否忘記了向源中添加“#include “stdafx.h””?
則表示沒(méi)有包含stdafx.h文件,設(shè)置為”不使用預(yù)編譯頭“即可。
4、因?yàn)樽罱隽薽atlab與vc混編,所以,生成了.c文件,.c文件是不能使用預(yù)編譯頭的,如果讓這樣的文件“使用預(yù)編譯頭”,會(huì)出現(xiàn)下面錯(cuò)誤的:
“Debug\SMMS.pch”預(yù)編譯頭文件來(lái)自編譯器的早期版本,或者預(yù)編譯頭為 C++ 而在 C 中使用它(或相反)
所以,在.c文件右鍵->【屬性】->"不使用預(yù)編譯頭“。注意只是此文件的屬性。
本文部分轉(zhuǎn)自 http://apps.hi.baidu.com/share/detail/53843944