Datuve :: Forums :: Arhīvs :: C++ forget to add '#include "stdafx.h"

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 74

Reģistrētie lietotāji online: 0

Viesi online: 74

Datuve.lv video
Top.LV

C++ forget to add '#include "stdafx.h"

Ievietoja: Mittz @ 2009.07.02 00:35  

c:\documents and settings\janis15\my documents\visual studio 2008\projects\reiz2\reiz2\reiz2.cpp(25) : 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://c:\Documents and Settings\janis15\My Documents\Visual Studio 2008\Projects\reiz2\reiz2\Debug\BuildLog.htm"

rāda ka ir kļūda, bet ņemti vairāki, koda gabali no interneta visur viens un tas pats eror!

koda gabals

#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;

int main() {
   int sum = 0;
   int x;
   ifstream inFile;
   
   inFile.open("test.txt");
   if (!inFile) {
       cout << "Unable to open file";
       exit(1); // terminate with error
   }
   
   while (inFile >> x) {
       sum = sum + x;
   }
   
   inFile.close();
   cout << "Sum = " << sum << endl;
   return 0;
}

Komentāri:

#1 ob_3 @ 2009.07.02 00:39

Tad ieklāuj to stdafx.h sourcē.

#2 Mittz @ 2009.07.02 00:49

jauki skan tad parādās daudz jaunu eroru

http://www.bildites.lv/images/b4g5gboej52d6u4nv0j0.jpg

#3 ob_3 @ 2009.07.02 00:55

Tad izlabo tos errorus. Acīmredzot trūkst vēl kāds .h fails.

Dažus gadus C neesmu lietojis, aizmirsies viss, bet izskatās, ka trūkst kaut kas līdzīgs stdio.h

#4 Mittz @ 2009.07.02 01:04

diez vai ir kļūda ir kādā .h failā, jo

// basic file operations
#include <iostream>
#include <fstream>
using namespace std;

int main () {
 ofstream myfile;
 myfile.open ("example.txt");
 myfile << "Writing this to a file.\n";
 myfile.close();
 return 0;

http://www.cplusplus.com/doc/tutorial/files/

#5 ob_3 @ 2009.07.02 01:10

A kurš definēs cout un exit(), utt. ?

#6 Mittz @ 2009.07.02 01:23

kā tad man jādefinē exit()? ok cout var būt string un tad vispār kāpēc piemēros nav parādīts ka mainīgie jānodefinē?

#7 ob_3 @ 2009.07.02 01:31

cout un exit ir sistēmas mainīgie. Tos definē iekš .h failiem un biblenēm. Pamēģini tak to stdio.h.

P.S. un nodod sveicienus KaNeiet. Es pats nevaru, man ir bans.

#8 Inspektors_Caps @ 2009.07.02 01:48

Pirmkaart, #include "stdafx.h" ir jaabuut pasham pirmajam, jo viss kas ir liidz vinjam netiek vispaar iekljauts kodaa! Pashaa stdafx.h ieliek to, kas ir jaaincludo vai jaadefinee gandriiz visur. Ieguvums ir tas, ka pats stdafx.h tiek kompileets tikai vienu reizi un kompileeshana notiek daudz aatraak. Taadeelj to arii sauc "Precompiled header".

Otrkaart, shaadam vienkaarsham samplim tas vienkaarshi nav vajadziigs. Project properties => C/C++ => Precompiled Headers => Create/Use Precompiled Header: Not Using Precompiled Headers.

Uzminiet no kurienes es to "magic" uzzinaaju... MSDN! ;)

#9 karuuzo @ 2009.07.02 11:16

#8: Turpinot tēmu, ja izmanto Precomiled Header, tad jāuzliek "Automatic use of precompiles header" (tas gan 6. studijai, 2008. tas varētu būt "Create Precompiled Header").

Es gan viņu parasti lietoju, arī maziem projektiem, kāpēc - pieradums :) Ērti, samet stdafx.h/cpp standarta komplektu un nav jāuztraucas, ko inklūdot, kādus globālos mainīgos veidot.

m