Ihave simple test console application. I'm trying to use function nike2 from defined in simple.h file and realization is in simple.cpp. Both simple.h and simple.cpp files are in different directory than main project.
I have added simple.h to "Header files" and simple.cpp to "Source files" in project explorer (I'm not sure it is needed)
Console app:
#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;
}
While compile I got error:
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
Why? What is magic "StdAfx.h" used for?
UPD
simple.cpp now looks this way, but still have the same error
#include "C:\c\usingHeader\usingHeader\stdafx.h"
#include <cstdlib>
#include <iostream>
#include "simple.h"
int nike2(int f)
{
return 0;
}
Stdafx.h
is used for making pre-compiled headers. It contains some of the most standard and commonly used include
s.
That is made mainly to speed-up the compilation process, because WinAPI is a very heavy thing.
You could also check this question, it has a more detailed answer.
stdafx.h contains header includes for things that you aren't expecting to change. Things like standard libraries are included from stdafx.h so they only have to be compiled once. You should include stdafx.h everywhere you need it. If you would rather not use it, you can turn it off in the project preferences.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With