Toon posts:

[linux] C++ simpel programma compileren??

Pagina: 1
Acties:
  • 105 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
ik probeer hetvolgende programma te compileren met gcc

#include <iostream>
#include <string>

using namespace std;
int main()
{
cout << "nou nou" << endl;
return 0;
}

Maar ik krijg de volgende error die ik zonder de cout regel niet krijg:

/tmp/ccmkl4OG.o: In function `main':
/tmp/ccmkl4OG.o(.text+0xa): undefined reference to `endl(ostream &)'
/tmp/ccmkl4OG.o(.text+0x17): undefined reference to `cout'
/tmp/ccmkl4OG.o(.text+0x1c): undefined reference to `ostream::operator<<(char const *D'
/tmp/ccmkl4OG.o(.text+0x27): undefined reference to `ostream::operator<<(ostream &(*D(ostream &))'
collect2: ld returned 1 exit status

Deze code werkt onder dos gewoon normaal.
Weet iemand hoe ik dit kan oplossen?

Verwijderd

gebruik g++ ipv gcc

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18-08 21:00

Creepy

Tactical Espionage Splatterer

hoe compile je dit? Met gcc blaat.c -o blaat o.i.d.? Gebruik dan g++ i.p.v. gcc zodat de compiler de code ook daadwerkelijk als C++ code behandelt i.p.v. C.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Moet je niet #include <iostream.h> doen??

Verwijderd

Topicstarter
Met g++ werkt het wel.

Wat zijn de parameters voor gcc dan?

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
type misschien eens gcc -? ofzo in, dan zal je wel een lijstje krijgen met alle bestaande parameters.

https://fgheysels.github.io/


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

als je iostream doet moet je idd g++ gebruiken, en bij iostream.h kan je gcc gebruiken volgens mij

Doet iets met Cloud (MS/IBM)


  • nhimf
  • Registratie: September 2000
  • Laatst online: 19-08 10:00

nhimf

Lekker belangrijk allemaal

using namespace std;
kan misschien helpen als je dat onder je includes zet

Ik stink niet, ik ruik gewoon anders


Verwijderd

Op dinsdag 18 juni 2002 20:56 schreef nhimf het volgende:
using namespace std;
kan misschien helpen als je dat onder je includes zet
Dat heeftie dus al |:(

  • nhimf
  • Registratie: September 2000
  • Laatst online: 19-08 10:00

nhimf

Lekker belangrijk allemaal

LOL sorrie overheen gelezen |:(

Ik stink niet, ik ruik gewoon anders


  • nhimf
  • Registratie: September 2000
  • Laatst online: 19-08 10:00

nhimf

Lekker belangrijk allemaal

kbedenk me net dat gcc de goede compiler pakt dmv de extentie van het bestand. Dus .cpp ipv .c kan ook helpen en anders tog echt g++ of man gcc ;)

Ik stink niet, ik ruik gewoon anders


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18-08 21:00

Creepy

Tactical Espionage Splatterer

g++ is precies hetzelfde als gcc.. alleen als gcc word aangeroepen als g++ gaat hij er altijd vanuit dat het om een C++ source gaat..

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Op dinsdag 18 juni 2002 21:12 schreef nhimf het volgende:
kbedenk me net dat gcc de goede compiler pakt dmv de extentie van het bestand. Dus .cpp ipv .c kan ook helpen en anders tog echt g++ of man gcc ;)
Nee je hebt 't bij het juiste eind, je moet je C++ programma gewoon .cpp noemen en dan komt alles goed ;)

Verwijderd

Blub blub. Volgens mij compileert gcc C++ wel correct (afhankelijk van de file-extensie), maar linkt hij vervolgens niet met de standaard C++ library. g++ gebruiken dus.

  • RickN
  • Registratie: December 2001
  • Laatst online: 14-06-2025
Op woensdag 19 juni 2002 00:55 schreef Yarvieh het volgende:

[..]

Nee je hebt 't bij het juiste eind, je moet je C++ programma gewoon .cpp noemen en dan komt alles goed ;)
MMM, ik dacht dat cpp een C pre processor file is en dat de juiste extensie van een C++ file .cxx is...

He who knows only his own side of the case knows little of that.


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 17:14
Op dinsdag 18 juni 2002 20:23 schreef fishman44 het volgende:
Moet je niet #include <iostream.h> doen??
Nee.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • RdeTuinman
  • Registratie: Mei 2001
  • Laatst online: 16-08 07:25
Die errors die je te zien krijgt, zijn linker errors. Het compileren gaat dus wel goed.
Op dinsdag 18 juni 2002 20:23 schreef LarBor het volgende:
Met g++ werkt het wel.

Wat zijn de parameters voor gcc dan?
Bij het linken moet je -lstdc++ meegeven bij gcc ;)

  • Suicyder
  • Registratie: Mei 2002
  • Laatst online: 18:27
Even een oude thread pakken.

Ik heb alles wat jullie hier zeggen geprobeerd alleen werkt dit nog steeds niet. Misschien nog meer tips, want ik wordt er gek van 8)7 8)7

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

offtopic:
Ben je hier al serieus anderhalf jaar mee bezig? :?

Professionele website nodig?


  • Suicyder
  • Registratie: Mei 2002
  • Laatst online: 18:27
nee, alleen ik zit er nu sinds vandaag mee, maar zag deze maar hielp niet echt.
Moet dit verplicht in RH 6.1 doen (BAH)

[ Voor 49% gewijzigd door Suicyder op 24-09-2003 11:43 ]


  • Suicyder
  • Registratie: Mei 2002
  • Laatst online: 18:27
HIJ WERKT... sorry voor het storen

  • DiedX
  • Registratie: December 2000
  • Laatst online: 19:55
Suicyder schreef op 24 September 2003 @ 11:46:
HIJ WERKT... sorry voor het storen
Dan is het normaal de oplossing te vertellen :)

DiedX supports the Roland™, Sound Blaster™ and Ad Lib™ sound cards


  • Suicyder
  • Registratie: Mei 2002
  • Laatst online: 18:27
g++ /usr/include/g++-2/test.cpp -lstdc++
uitvoeren = ./a.out

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18-08 21:00

Creepy

Tactical Espionage Splatterer

Suicyder schreef op 24 September 2003 @ 11:49:
g++ /usr/include/g++-2/test.cpp -lstdc++
uitvoeren = ./a.out
Je moet zelf opgeven de stdc++ mee te linken?
Dat betekent eigenlijk maar 1 ding: GCC / G++ verwijderen en opnieuw installeren ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Suicyder
  • Registratie: Mei 2002
  • Laatst online: 18:27
ja idd, zal ik doen
ook wil ik ff melden dat hij niet werkte als je int met return 0 deed.

nu is het dus

void main (void)

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Da's echt foute boel fyi, doe maar zsm die reinstall :D

Professionele website nodig?


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 17:14
Suicyder schreef op 24 September 2003 @ 11:43:
nee, alleen ik zit er nu sinds vandaag mee, maar zag deze maar hielp niet echt.
Moet dit verplicht in RH 6.1 doen (BAH)
't Is voor het topic handig om je g++ versie te melden, GCC<3 en GCC>=3 verschillen nogal. Ik gok dat je een 2.8.x versie hebt, met wat geluk een 2.95.x
g++3.0 heeft een nieuwe standaard library gekregen. Zoals eerder gezegd, als je linkt met g++ ipv. gcc dan hoef je de (nieuwe) naam niet op te geven.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • TaXaN
  • Registratie: April 2001
  • Laatst online: 08-09-2023
void main (void) is geen C++, volgens de standaard moet main een int teruggeven. Als je dat niet gecompileerd krijgt, zul je toch wel ergens anders het probleem moeten gaan zoeken. Ik lees dat je RH6.1 gebruikt; zit daar niet een erg oude versie van GCC in?

A polar bear is a rectangular bear after a coordinate transformation.

Pagina: 1