[ Igor_022 @ 31.01.2007. 18:35 ] @
| Well,
Imam problem. Kada pokusam da izvrsim sledeci kod, Visual C++ 6 mi vrati gresku:
"fatal error C1010: unexpected end of file while looking for precompiled header directive".
Kod je uzet iz nekog primera i trebao bi da radi:
Code:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int broj;
ofstream dat;
cout << "Upisi neki broj: " << endl;
cin >> broj;
dat.open("proba.txt");
dat << broj;
dat.close();
cout << "Broj je upisan u datoteku" << endl;
return 0;
}
Gde je problem?
|
[ X Files @ 31.01.2007. 18:50 ] @
Pretpostavljam da nije problem do samog koda, vec do neceg drugog.
Google-ovanjem pomenute poruke dobije se dosta materijala, npr:
http://www.msoe.edu/eecs/cese/...s/cppbuild/msvcmfc/mfc_err.htm
PokuĊĦaj ovo:
Project > Settings >C/C++ >Category >Precompiled headers > not using precompiled headers.
[ NrmMyth @ 31.01.2007. 19:54 ] @
Precompiled headers su funkcionalnost VC++ (ne znam dali ih jos tko podrzaje).
Radi se o tome da postoji jedan header koji se ukljucuje u _sve_fajlove_ unutar projekta i koji se "predkompilira". Odnosno sve definicije unutar njega se kompajliraju sam jednom i zatim linkaju s ostalim.
>>>> stdafx.h (precompiled header) - nije nuzno da se ovako zove, ali je tako standardno
int func( int x ) { return x; }; // definicija
>>>> a.cpp
#include "stdfax.h"
>>>> b.cpp
#include "stdfax.h"
S koristenjem "precompiled headers" switcha kompajler nece morati da dva puta radi objektni kod za int func( int ).
...znamo da je include direktiva samo "kopiranje" koda.
[ absBeg @ 01.02.2007. 15:06 ] @
>
ne znam jel ti kod bas 10% ovakav kao na ekranu, ali morat ces namespace
dio prebaciti u novi red i onda sve radi bez ikakvih gresaka ;)
[ SuPeR_MaSteR @ 03.02.2007. 00:30 ] @
Citat:
absBeg: >
ne znam jel ti kod bas 10% ovakav kao na ekranu, ali morat ces namespace
dio prebaciti u novi red i onda sve radi bez ikakvih gresaka ;)
Wtf? :) C++ ignorise razmake
[ absBeg @ 03.02.2007. 09:57 ] @
istina je. ali dio include ne zavrsava sa tocka-zarez, pa meni VS 2005
uvijek prijavi gresku ako je namespace dio u istom redu kao i #include.
[ SuPeR_MaSteR @ 03.02.2007. 15:15 ] @
Aha na to mislis, da, jeste tako. Po konvenciji nista se i ne pise u istom redu sa #include direktivom. Samo u gornjem primeru using i jeste u razdvojenom redu..
[ DjoleReject @ 03.02.2007. 18:20 ] @
Sta si ti procitao, covece? Post nije editovan, a svaka komanda je u novom redu...
Inace greska se javlja zato sto je kompajler namesten da inkluduje neke hedere automatski, sto treba da se iskljuci, pa je sve OK.
[ absBeg @ 04.02.2007. 08:23 ] @
>
ovu temu pratim preko email-a i kod mene je namespace dio u istom redu
sa #include. Inace, gornji program mi radi bez ikakve greske sa
defaultnim postavkama VS 2005, pa mi nije bilo jasno o kakvim greskama
pricate. ;)
[ DjoleReject @ 04.02.2007. 16:02 ] @
A, mail je uzrok nesporazuma. Sori.
Ja ga nisam ni kompajlirao, nego gledam onako odoka - nema sta tu da ne radi. To mora biti problem ukljucivanja hedera, po defaultu se neke gluposti inkluduju. Samo ne znam kako je to covek odradio, bez namere.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.