VS2010上的stdafx.h問題

我用VS2010 C++來寫了一個專案

可是我對C++不熟

把所有檔案的include都寫到stdafx.h內

請問這樣好嗎

我goolge下stdafx這檔案似乎是用來做預先編譯的

現在專案內如果我新class include .h不加到stdafx內

就會出現一大堆亂七八糟的錯誤

我想改都改不了

請問該怎麼解決呢

VS可不可以不要用stdafx這個東西啊

搞得我快發瘋了

已更新項目:

現在我把stdafx留者

裡面放stdio這類的header

然後其他的include header各自寫在其所需的檔案下

不過卻出現一堆莫名其妙的錯誤

像是'class' 型別重複定義

Include 檔太多 : 深度 = 1024

....

大概有7X個

可是我點進去看都沒甚麼問題啊

這樣是因為我還有哪個檔案的header沒有include到嗎

還是說有甚麼東西該注意卻沒注意到的

2 個已更新項目:

真的是沒寫

之前學c++也沒學過這東西orz

是在每個header內加入

#ifndef Class_Name_H

#define Class_Name_H

class Class_Name { int a; };

#endif

這樣子嗎???

3 個解答

評分
  • Tai
    Lv 5
    7 年前
    最佳解答

    取消 stdafx

    1. 對已經建好的專案,屬性頁 / 組態屬性 / c/c++ / 先行編譯標頭檔 =>

    選 "未使用先行編譯標頭檔"

    2. 一開始建立專案時,在 "應用程式設定",其他選項中,將 "先行編譯標頭檔" 取消。

    2013-10-21 14:11:22 補充:

    酸大說的是,stdafx 本來就是將常用,通用的放入,以減少編譯時間。

    個別 cpp 所需的 header,本應當各自 #include。

  • 匿名使用者
    7 年前

    【亞洲36588合法彩券公司直營 官網: A36588.NET 】

    【 最新活動→迎接新會員,首存狂送20% 】

    【運動→電子→對戰→現場→彩球 】

    【免費服務 →電影區、討論區、KTV歡唱、運動轉播、即時比分、24H客服 】

    【亞洲36588合法彩券公司直營 官網: A36588.NET 】

  • 7 年前

    幹嘛要把所有檔案的include都寫到stdafx.h內,

    你這樣變成所有source file都要依賴所有header file.

    幹嘛不要用stdafx.h,

    能減少你編譯時間, 減少你開發程式的時間,

    不好嗎?

    正常的寫法, include stdafx.h擺在source file的第一行,

    第二行include此source file對應的header file,

    第三行後include此source file會用到的其他header file.

    2013-10-21 15:37:55 補充:

    你的header file裡是不是沒有寫header guard.

    若有的話, 看要不要開全新的solution來測試,

    檔案慢慢加才會知道問題出在哪.

還有問題?馬上發問,尋求解答。