Programmare in C++

Se avete dubbi o domande sulla programmazione in generale, fatele qui
Rispondi
giuseppe
Novello Arciere
Messaggi: 64
Iscritto il: 30 ottobre 2008, 13:28

Messaggio da giuseppe » 17 gennaio 2009, 17:53

ciao..

Perchè di default in arch non ci sono le librerie per programmare in c++???

Se provo a compilare un helloWord in c++ ottengo questo :

Codice: Seleziona tutto

tmp/ccvX8NsR.o: In function `__static_initialization_and_destruction_0(int, int)':
h.cpp:(.text+0x2e): undefined reference to `std::ios_base::Init::Init()'
h.cpp:(.text+0x33): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccvX8NsR.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status

Babets
Arciere Provetto
Messaggi: 356
Iscritto il: 7 febbraio 2008, 19:44

Messaggio da Babets » 17 gennaio 2009, 19:03

Mai avuto un problema del genere, prova a vedere se hai gcc (presente nel gruppo base-devel) e gcc-libs (presente nel gruppo base). E casomai reinstallali.

Avatar utente
ilpianista
Amministratore
Messaggi: 2952
Iscritto il: 6 ottobre 2007, 0:41
Località: Lecce, Italy
Contatta:

Messaggio da ilpianista » 17 gennaio 2009, 20:42

pacman -S base-devel

giuseppe
Novello Arciere
Messaggi: 64
Iscritto il: 30 ottobre 2008, 13:28

Messaggio da giuseppe » 18 gennaio 2009, 0:13

Non va lo stesso

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Messaggio da Barone Rosso » 18 gennaio 2009, 9:06

Ti sei ricordato del namespace .....

Vedi sotto:

Codice: Seleziona tutto

    #include <iostream>
    using namespace std;

giuseppe
Novello Arciere
Messaggi: 64
Iscritto il: 30 ottobre 2008, 13:28

Messaggio da giuseppe » 18 gennaio 2009, 10:54

Se uso il namespace ottengo questi errori!!!

Codice: Seleziona tutto

/tmp/ccgWNqnQ.o: In function `main':
h.cpp:(.text+0xe): undefined reference to `std::cout'
h.cpp:(.text+0x13): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
h.cpp:(.text+0x1b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
h.cpp:(.text+0x20): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/ccgWNqnQ.o: In function `__static_initialization_and_destruction_0(int, int)':
h.cpp:(.text+0x4e): undefined reference to `std::ios_base::Init::Init()'
h.cpp:(.text+0x53): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccgWNqnQ.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
Nel codice che usavo prima avevo evitato apposta di usarlo....
Comunque il codice che uso per fare le prove è questo :

Codice: Seleziona tutto

#include <iostream> 
int main () { 
	std::cout << "Ciao" <<std::endl; 
}

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Messaggio da Barone Rosso » 18 gennaio 2009, 11:37

Che comando usi per compilare

giuseppe
Novello Arciere
Messaggi: 64
Iscritto il: 30 ottobre 2008, 13:28

Messaggio da giuseppe » 18 gennaio 2009, 12:12

OK!!! Per compilare sono riuscito a farlo andare....

ma non riesco a usare la libreria matematica :

Codice: Seleziona tutto

/tmp/cc5WbmcR.o: In function `main':
z0.c:(.text+0x144): undefined reference to `sqrt'
collect2: ld returned 1 exit status

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Messaggio da Barone Rosso » 18 gennaio 2009, 12:28

giuseppe ha scritto:OK!!! Per compilare sono riuscito a farlo andare....

ma non riesco a usare la libreria matematica :

Codice: Seleziona tutto

/tmp/cc5WbmcR.o: In function `main':
z0.c:(.text+0x144): undefined reference to `sqrt'
collect2: ld returned 1 exit status
-lm

Come opzione al comando di compilazione.

giuseppe
Novello Arciere
Messaggi: 64
Iscritto il: 30 ottobre 2008, 13:28

Messaggio da giuseppe » 18 gennaio 2009, 12:47

di solito non lo mai usata!!!

ma che serve??

Babets
Arciere Provetto
Messaggi: 356
Iscritto il: 7 febbraio 2008, 19:44

Messaggio da Babets » 18 gennaio 2009, 14:12

giuseppe ha scritto:OK!!! Per compilare sono riuscito a farlo andare....

ma non riesco a usare la libreria matematica :

Codice: Seleziona tutto

/tmp/cc5WbmcR.o: In function `main':
z0.c:(.text+0x144): undefined reference to `sqrt'
collect2: ld returned 1 exit status
#include<math>

fgr
Arciere
Messaggi: 188
Iscritto il: 2 dicembre 2008, 18:31

Messaggio da fgr » 18 gennaio 2009, 16:06

Babets ha scritto:[...]
#include<math>
In C++ standard è cmath

Avatar utente
Barone Rosso
Little John
Messaggi: 1249
Iscritto il: 30 agosto 2007, 9:36
Contatta:

Messaggio da Barone Rosso » 18 gennaio 2009, 19:31

giuseppe ha scritto:di solito non lo mai usata!!!

ma che serve??
A linkare la libreria dinamica per la matematica. Ma in effetti in c++ e di defualt, quindi non ti serve.

Rispondi