鍏充簬#include "stdafx.h"
錛?錛?/span>Standard Application Frame Extend娌℃湁鍑芥暟搴擄紝鍙槸瀹氫箟浜嗕竴浜涚幆澧冨弬鏁幫紝浣垮緱緙栬瘧鍑烘潵鐨勭▼搴忚兘鍦?2浣嶇殑鎿嶄綔緋葷粺鐜涓嬭繍琛屻俉indows鍜孧FC鐨刬nclude鏂囦歡閮介潪甯稿ぇ錛屽嵆浣挎湁涓涓揩閫熺殑澶勭悊紼嬪簭錛岀紪璇戠▼搴忎篃瑕佽姳璐圭浉褰撻暱鐨勬椂闂存潵瀹屾垚宸ヤ綔銆傜敱浜庢瘡涓?CPP鏂囦歡閮藉寘鍚浉鍚岀殑include鏂囦歡錛屼負姣忎釜.CPP鏂囦歡閮介噸澶嶅鐞嗚繖浜涙枃浠跺氨鏄懼緱寰堝偦浜嗐備負閬垮厤榪欑嫻垂錛孉ppWizard鍜孷isualC++緙栬瘧紼嬪簭涓璧瘋繘琛屽伐浣滐紝濡備笅鎵紺猴細
1.AppWizard寤虹珛浜嗘枃浠秙tdafx.h錛岃鏂囦歡鍖呭惈浜嗘墍鏈夊綋鍓嶅伐紼嬫枃浠墮渶瑕丮FCinclude 鏂囦歡銆備笖榪欎竴鏂囦歡鍙互闅忚閫夋嫨鐨勯夐」鑰屽彉鍖栥?br />2.AppWizard鐒跺悗灝卞緩绔媠tdafx.cpp銆傝繖涓枃浠墮氬父閮芥槸涓鏍風殑銆?br />3.鐒跺悗AppWizard灝卞緩绔嬭搗宸ョ▼鏂囦歡錛岃繖鏍風涓涓緙栬瘧鐨勬枃浠跺氨鏄痵tdafx.cpp銆?br />4褰揤isualC++緙栬瘧stdafx.cpp鏂囦歡鏃訛紝瀹冨皢緇撴灉淇濆瓨鍦ㄤ竴涓悕涓簊tdafx.pch鐨勬枃浠墮噷銆?鎵╁睍鍚峱ch琛ㄧず棰勭紪璇戝ご鏂囦歡銆?( 棰勭紪璇戝ご鏂囦歡閫氳繃緙栬瘧stdafx.cpp鐢熸垚錛屼互宸ョ▼鍚嶅懡鍚嶏紝鐢變簬棰勭紪璇戠殑澶存枃浠剁殑鍚庣紑鏄?#8220;pch”錛屾墍浠ョ紪璇戠粨鏋滄枃浠舵槸projectname.pch銆?
5.褰揤isualC++緙栬瘧闅忓悗鐨勬瘡涓?cpp鏂囦歡鏃訛紝瀹冮槄璇誨茍浣跨敤瀹冨垰鐢熸垚鐨?pch鏂囦歡銆?br />VisualC++涓嶅啀鍒嗘瀽Windows include鏂囦歡錛岄櫎闈炰綘鍙堢紪緙変簡stdafx.cpp鎴杝tdafx.h銆傝繖涓妧鏈緢綺懼閥錛屼綘涓嶈繖涔堣涓哄悧錛?榪樿璇翠竴鍙ワ紝Microsoft騫墮潪鏄鍏堥噰鐢ㄨ繖縐嶆妧鏈殑鍏徃錛孊orland鎵嶆槸銆?鍦ㄨ繖涓繃紼嬩腑浣犲繀欏婚伒瀹堜互涓嬭鍒欙細
1.浣犵紪鍐欑殑浠諱綍.cpp鏂囦歡閮藉繀欏婚鍏堝寘鍚玸tdafx.h銆?br />2.濡傛灉浣犳湁宸ョ▼鏂囦歡閲岀殑澶у鏁?cpp鏂囦歡闇瑕?h鏂囦歡錛岄『渚垮皢瀹冧滑鍔犲湪stdafx.h(鍚庨儴)涓婏紝鐒跺悗棰勭紪璇憇tdafx.cpp銆?br />3.鐢變簬.pch鏂囦歡鍏鋒湁澶ч噺鐨勭鍙蜂俊鎭紝瀹冩槸浣犵殑宸ョ▼鏂囦歡閲屾渶澶х殑鏂囦歡銆?br />濡傛灉浣犵殑紓佺洏絀洪棿鏈夐檺錛屼綘灝卞笇鏈涜兘灝嗚繖涓綘浠庢病浣跨敤榪囩殑宸ョ▼鏂囦歡涓殑.pch鏂囦歡鍒犻櫎銆傛墽琛岀▼搴忔椂騫朵笉闇瑕佸畠浠紝涓旈殢鐫宸ョ▼鏂囦歡鐨勯噸鏂板緩绔嬶紝瀹冧滑涔熻嚜鍔ㄥ湴閲嶆柊寤虹珛
(2)stdafx.h鏂囦歡涓寘鍚簡涓浜涘繀瑕佺殑澶存枃浠訛紙濡俛fxwin.h錛夛紝瀵瑰簲浜巗tdafx.h鏈変竴涓猻tdafx.cpp鏂囦歡錛岃鏂囦歡鍐呭寘鍚竴鍙ワ細 #include "stdafx.h"錛屽叾浣滅敤鏄護緙栬瘧鍣ㄧ紪璇戝嚭涓涓猻tdafx.obj棰勭紪璇戝ご鏂囦歡錛坧re-compile header錛岄渶瑕佽緗紪璇戦夐」錛夛紝鍦ㄤ笅嬈$紪璇戞椂浠ラ檷浣庢葷殑緙栬瘧鏃墮棿銆傝嫢浣跨敤ClassWizard瀹氫箟鏂扮被錛屽垯鏈夊彲鑳藉湪stdafx.h涓鍔犳柊鐨?include files銆傛瘮濡傦紝鑻ラ夌敤MFC template classes錛宻tdafx.h涓究浼氬鍔狅細#include <afxtempl.h>銆?/span>
(3)娉細1.afxwin.h鏄疢FC緙栫▼鐨勫繀闇鏂囦歡錛屽叾涓寘鍚CString錛孋Edit綾昏繍琛屾墍蹇呴渶鐨勫ご鏂囦歡錛屾渶濂戒繚璇佽鍙ュ湪澶存枃浠墮琛岋紱瀹冭繕浼氳皟鐢╳indows.h錛屾敼澶存枃浠跺寘鍚湁鏁版嵁綾誨瀷鐨勫畾涔夈丄PI鍏ュ彛鐐瑰畾涔夊拰鍏跺畠鏈夌敤鐨勫弬鏁頒俊鎭紱
2.闈濵FC宸ョ▼浣跨敤MFC搴撴椂鏈甯歌鐨勯棶棰樺氨鏄痺indows.h閲嶅鍖呭惈閿欒錛歠atal error C1189: #error : WINDOWS.H already included. MFC apps must not #include <windows.h>錛?br />
3.#define WIN32_LEANAND_MEAN錛屽湪windows鐨勫ご鏂囦歡涓嫆緇濇帴鍙桵FC綾誨簱錛屼互鍔犻熺紪璇戞椂闂達紱
4.afx - afx涓殑af鎸囩殑鏄疉pplication Frame鐨勭緝鍐欙紝鏇劇粡鏈変竴涓妧鏈紑鍙戝洟闃熶笓闂ㄤ綔Application Frame錛屽悗鏉ョ粰榪欎釜鍥㈤槦鍛藉悕鐢╝fx錛寈鏈韓娌℃湁鍚箟錛屽彧涓嶈繃鏋勬垚涓涓搷浜殑鍙e彿錛屽悗鏉ュ氨涓鐩存部鐢ㄤ笅鏉ャ?/span>
5.寤虹珛浜嗕竴涓柊鐨勭┖鐨勫伐紼?欏圭洰涓殑stdafx.cpp浣跨敤鐨勬槸Create Precompiled Header (/Yc)錛岃屽叾瀹?cpp鏄敤鐨刄se Precompiled Header (/Yu)錛屽茍涓擟reate/Use PCH Trhough File鏄痵tdafx.h
(4)stdafx鏄緙栬瘧澶存枃浠躲備綘鍙互浠嶸C++闆嗘垚鐜鑿滃崟Project/Settings...涓?/span>
Project Settings Dialog/C/C++/Category:Precompiled Headers/Use precompiled header file(.pch)鐨凜heck Box涓湅鍒般傚凡緇忓皢Stdafx.h鏂囦歡浣滀負棰勭紪璇戠殑澶存枃浠舵潵浣跨敤銆傞緙栬瘧澶存枃浠舵槸鍦ㄧ紪璇戞墍鏈塁ode涔嬪墠錛岄鍏堣繘琛岀殑鍔ㄤ綔銆傞氳繃瑙f瀽榪欎釜鏂囦歡錛屽彇寰楀畾涔夌殑緇撴瀯鍜屽弬鏁般傝繖鏍峰氨涓嶇敤鍦ㄧ紪璇戞瘡涓枃浠舵椂閮介噸鏂拌繘琛岃В鏋愩傛彁楂樼紪璇戦熷害銆俿tdafx.h榪欎釜鍚嶇О鏄彲浠ユ敼鍙樼殑錛屼綘鍙互鎸囧畾棰勭紪璇戝ご鏂囦歡鐨勫悕縐般傝繖涓彧鍦╲c涓湁鐢?騫朵笉鏄痗++鐨勭壒鎬?vc涓彲浠ュ湪榪欓噷澹版槑鍏ㄥ眬鍙橀噺鍜孖D鐨勫湴鏂?/span>
(5) fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
A濡傛灉鏍規(guī)湰娌℃湁stdafx.h,浣犱負浣曡鍖呭惈瀹?涓鑸彧鏈夊ぇ宸ョ▼鎵嶉渶瑕侀緙栬瘧澶存枃浠?stdafx.h
鍒犻櫎榪欎竴琛?include "stdafx.h"
B project-> Settings->c/c++ category->Precomiled Headers 閫夋嫨絎竴涓?Not using precompiled headers
C Project->Settings->C/C++->Project Options涓妸/Fp"Debug/Your_Project_Name.pch"鍜?Yu"stdafx.h"涓ら」鍒犳帀灝卞彲浠ヤ簡銆傝娉ㄦ剰鍘熸潵鍦╯tdafx.h鍐呭寘鍚殑鏂囦歡瑕佸寘鍚埌鍚勪釜.cpp鏂囦歡涓?
D鍦?.cpp涓殑寮澶村姞鍏?include "stdafx.h".(#include "stdAfx.h" 鏀懼埌鍙﹀#include鐨勫墠闈紝涔熷氨鏄▼搴忕殑鏈鍓嶉潰銆備嬌鐢ㄩ緙栬瘧澶存枃浠墮渶瑕佹妸瀹冩斁鍒扮▼搴忔渶鍓嶉潰錛屽惁鍒欏畠鍓嶉潰鐨勫唴瀹逛細琚拷鐣?
E rebuild all
(6)璁劇疆浜嗛緙栬瘧錛屽鏋滀笉鍔?include "stdafx.h", 灝變細鎶ヨ繖涓敊錛?fatal error C1010:
unexpected end of file while looking for precompiled header directive銆傜紪璇戝櫒閫氳繃涓涓ご鏂囦歡stdafx.h鏉ヤ嬌鐢ㄩ緙栬瘧澶存枃浠躲俿tdafx.h榪欎釜澶存枃浠跺悕鏄彲浠ュ湪project鐨勭紪璇戣緗噷鎸囧畾鐨勩傜紪璇戝櫒璁や負錛屾墍鏈夊湪鎸囦護#include "stdafx.h"鍓嶇殑浠g爜閮芥槸棰勭紪璇戠殑錛屽畠璺寵繃#include "stdafx. h"鎸囦護錛屼嬌鐢╬rojectname.pch緙栬瘧榪欐潯鎸囦護涔嬪悗鐨勬墍鏈変唬鐮併傚洜姝わ紝鎵鏈夌殑CPP瀹炵幇鏂囦歡絎竴鏉¤鍙ラ兘鏄細#include "stdafx.h"銆?/span>

]]>