我有簡單的測試控制檯應用程序。我試圖使用simple.h文件中定義的函數nike2,並且在simple.cpp中實現。 simple.h和simple.cpp文件都位於與主項目不同的目錄中。使用頭文件和StdAfx.h
我在項目資源管理器中添加simple.h到「頭文件」和simple.cpp到「源文件」(我不知道它是需要)
控制檯應用程序:
#include "stdafx.h"
#include "..\..\simple.h"
int _tmain(int argc, _TCHAR* argv[])
{
nike2(5);
return 0;
}
Simple.h
#include <cstdlib>
#include <iostream>
#ifndef MEMORY
#define MEMORY
int var;
int nike2(int f);
#endif /*MEMORY*/
Simple.cpp
#include <cstdlib>
#include <iostream>
#include "simple.h"
int nike2(int f)
{
return 0;
}
雖然編譯我得到錯誤:
Error 4 error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source? c:\c\simple.cpp 11 1 usingHeader
爲什麼?什麼是魔術「StdAfx.h」用於?
UPD
simple.cpp現在看起來這種方式,但仍然有同樣的錯誤
#include "C:\c\usingHeader\usingHeader\stdafx.h"
#include <cstdlib>
#include <iostream>
#include "simple.h"
int nike2(int f)
{
return 0;
}
'我在項目資源管理器中添加了simple.h頭文件和simple.cpp源文件(我不確定是否需要)'不,不需要,Header和Source過濾器只是可視化的過濾器並不匹配任何實際目錄模式的功能模式,它只是可視化和分類到Visual Studio IDE中。順便說一句:我認爲你不需要「StdAfx」。 – 2012-08-07 14:09:33
如果我需要StdAfx,我需要添加它將其包含到simple.cpp中?爲了讓comiler開心,我必須寫一些類似'#include「的C:\ c \ usingHeader \ usingHeader \ stdafx.h」'? – vico 2012-08-07 14:28:45
@user不,只需添加'#include「stdafx.h」'就像消息所示。該文件將在您的項目目錄中,並且不需要完整的路徑。 – 2012-08-07 15:36:44