2014-09-22 152 views
3

好吧,我用C++編寫了一些東西,昨天晚上很好,我可以完美地編譯沒有問題。我保存了所有的東西,並關閉了VS 2010 Ultimate。今天早上,當我去工作我的東西,我嘗試重新編譯,我只有200多個錯誤,我無法弄清楚爲什麼所以我注意到有更多的警告比平常多,它說,它跳過我的標題。C++ - 預編譯頭文件

Warning C4627: '#include <iostream>': skipped when looking for precompiled header use. 

我試着禁用預編譯頭爲我的主要.cpp,但是當我編譯它只是給了我更多的錯誤。有沒有什麼辦法解決這一問題?

+0

你可以發佈main.cpp的代碼嗎? – 2014-09-22 21:48:43

+1

在cpp文件的頂部添加#include「stdafx.h」,並在其他包含指令之上。 – 2014-09-22 21:52:24

回答

5

把我的魔術心靈感應頭盔,你的問題是:

#include "myPrecompiledHeader.h"是不是在一個文件中首次包括,當它應該是。

+2

我感覺到預編譯頭文件的名字是... stdafx.h。 – villintehaspam 2014-09-22 21:52:27

+0

謝謝,這工作。 – Joshe343 2014-09-22 22:07:57

2

您尚未發佈更多信息,但警告稱它跳過了#include<iostream>,因爲預處理器期待預編譯的頭文件。 在您的Visual C++項目的情況下文件通常stdafx.h中,嘗試將其添加爲,

#include "stdafx.h" 

在你的CPP文件的頂部加上#include「stadfax.h」,僅高於其他包括指令。

+0

爲什麼不禁用預編譯頭可解決問題? – 0x499602D2 2014-09-22 22:00:06

+0

我認爲Visual Studio不是通過項目,而是通過文件來管理預編譯頭文件。所以OP可能將不得不爲所有文件禁用它。 – 2014-09-22 22:20:14