Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
g++ sous linux
Envoyé par: jean


J ai une petite question concernant g++

toto.cc
-----------------------------------------------------------------

#include <iostream>
 
using namespace std;  le makefile
 
 int main()
 {
   char buffy[128];
 
   cout << "Hello World!\n";
   cin >> buffy;
 }
 

-----------------------------------------------------------------


sur la console j'ai

--------------------------------------------------------------
[jean@ EssaiC++Project]$ gcc toto.cc
toto.cc:11:4: warning: no newline at end of file
/tmp/cccVL0xC.o(.text+0x1c): In function `main':
: undefined reference to `std::cout'
/tmp/cccVL0xC.o(.text+0x21): In function `main':
: undefined reference to `std::basic_ostream<char, std::char_traits<char> >& stdeye popping smileyperator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/cccVL0xC.o(.text+0x33): In function `main':
: undefined reference to `std::cin'
/tmp/cccVL0xC.o(.text+0x38): In function `main':
: undefined reference to `std::basic_istream<char, std::char_traits<char> >& stdeye popping smileyperator>><char, std::char_traits<char> >(std::basic_istream<char, std::char_traits<char> >&, char*)'
/tmp/cccVL0xC.o(.text+0x64): In function `__static_initialization_and_destruction_0(int, int)':
: undefined reference to `std::ios_base::Init::Init[in-charge]()'
/tmp/cccVL0xC.o(.text+0x93): In function `__tcf_0':
: undefined reference to `std::ios_base::Init::~Init [in-charge]()'
/tmp/cccVL0xC.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
[jean@ EssaiC++Project]$



je ne comprends pas bien les erreurs.
Merci beaucoup pour votre aide

Poste le Friday 21 November 2003 23:46:58
Répondre     Citer    
Re: g++ sous linux
Envoyé par: alain2

hello,

essaie de rajouter #include <stdlib> et #include <stdio.h>

A+

Poste le Saturday 22 November 2003 00:42:11
Répondre     Citer    
Re: g++ sous linux
Envoyé par: hope

Premier point pour compiler du C++ il ne faut pas utiliser gcc mais g++ donc ta commande pour compiler c'est : g++ toto.cc

Deuxième point ton exemple pour qu'il soit correcte en C++ il doit être celui ci :

#include <iostream>

using namespace std;

int main(int argc, char** argv) {

char buffy[128];
cout << "Hello World!" << endl;
cin >> buffy;

return 0;

}

Poste le Saturday 22 November 2003 22:37:15
Répondre     Citer    
Re: g++ sous linux
Envoyé par: Elman

Euh, pas besoin d'argc et d'argv pour etre correcte, (ni de return 0 il me semble ? pas sur la), cf norme.

Poste le Friday 28 November 2003 13:28:40
Répondre     Citer    
Re: g++ sous linux
Envoyé par: Nico__

// toto.cc
#include <iostream>

using namespace std;

int main()
{
string buffy;

cout << "Hello World!\n";
cin >> buffy;
}


puis

[nico@Thor nico]$ make toto
[nico@Thor nico]$ ./toto
Hello World !
hello aussi
[nico@Thor nico]$

Poste le Friday 28 November 2003 15:47:12
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
g++ sous linux
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons