Błąd kompilatora VC++ 2005 Express

Stworzyłem program:

#include 


int main()

{

	cout<<"Mój pierwszy program";

}

(Kod prosto z Komputer Świat EKSPERT 5/2003 (6)) Który z łatwością kompiluje Dev-C++i CodeBlocks a Visual C++ wyrzuca mi następujący błąd:

------ Build started: Project: hjg, Configuration: Debug Win32 ------

Compiling...

hjg.cpp

d:\dokumenty\visual studio 2005\projects\hjg\hjg\hjg.cpp(7) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

Build log was saved at "file://d:\Dokumenty\Visual Studio 2005\Projects\hjg\hjg\Debug\BuildLog.htm"

hjg - 1 error(s), 0 warning(s)

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Dlaczego? Może jakiś błąd popełniam przy wyborze projektu?

#include 


int main()

{

	cout<<"Mój pierwszy program";

}

------ Build started: Project: hjg, Configuration: Debug Win32 ------

Compiling...

hjg.cpp

d:\dokumenty\visual studio 2005\projects\hjg\hjg\hjg.cpp(7) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

Build log was saved at "file://d:\Dokumenty\Visual Studio 2005\Projects\hjg\hjg\Debug\BuildLog.htm"

hjg - 1 error(s), 0 warning(s)

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Spójrz na informację kompilatora. Did you forget to add ‘#include “stdafx.h”’ to your source? dodaj

#include

Po prostu poprosił o dodanie tego pliku nagłówkowego. Ja sam programista nie jestem, choć uczę sie trochę C++, ale takie komunikaty juz trochę sam powinieneś rozkmniniać :smiley: Ale spoko, początkujący zawsze ma jakieś problemy, ja też :smiley: Dodaj od razu przed ostatnią klamrą

system("pause");

bo pewnie zaraz po skompilowaniu zniknie Ci okienko i nie zdążysz nic zobaczyć :smiley:

Pozdrowionka.

“rozkmniniać” to potrafię ale ja nie chce obchodzić problemu ale go rozwiązać :slight_smile: albo ten kompilator to skompiluje albo na śmierci z takim kompilatorem. Nie potrafi sobie poradzić bez jakiegoś nie wiadomo po co komu nagłówka, to co ja zrobię przy bardziej skomplikowanych programach?! :slight_smile:

przy tworzeniu nowego projektu po prostu odznacz opcję Precompiled header w Additional options

albo

w widoku Solution explorer , prawym przyciskiem na pogrubionej nazwie projektu Properties , następnie Configuration Properties -> C/C++ -> Precompiled header i obok pola Create/Use Precompiled Header ustaw opcję Not Using Precompiled Header

instrukcja system(“pause”); jest niepotrzebna w Visual C++ 2005 EE ponieważ program dorzuca tę instrukcję podczas użycia skrótu Ctrl+F5 albo Debug->Start Without Debugging

Zatem rozwiązaniem Twojego problemu jest dodanie pliku nagłówkowego. Jeśli nie potrafisz tego zrobić sam, to nawet nie masz co myśleć o bardziej skomplikowanych programach :slight_smile:

Bo jeszcze nikt nie zmusił kompilatora, żeby działał niezgodnie z zasadami języka :slight_smile:

Jeśli nie chcesz używać plików nagłówkowych przesiądź się na języki, które ich nie wymagają, np. Brainfuck lub White Space.

Szarek , i tak może być problem, bo wydaje mi się, że musisz napisać

std::cout<<"Mój pierwszy program";

jeśli nie chcesz pisać za każdym razem std:: , to przed linią int main(){ dodaj

using namespace std;

W DevC++, ten fragment jest dodawany automatycznie.

Plik nagłówkowy iostream.h zawiera już to :wink: