PDA

Visualizza la versione completa : [C++] Errori "undefined reference" su librerie mysql durante compilazione


armix9
12-03-2014, 11:05
salve a tutti....perchè quando cerco di compilare questo codice



#include <mysql.h>
#include <iostream>
#include <string>

using namespace std;

int main()
{
MYSQL _mysql;

mysql_init( &_mysql );

string host = "localhost";
string user = "root";
string password = "";
string db = "" ;

bool connected ;

MYSQL *my = mysql_real_connect( &_mysql, host.c_str(), user.c_str(),password.c_str(),db.c_str(),0,0,0);

if (my) connected = true;

else {
connected = false;
string exc = "Errore di connessione a mysql : " + string( mysql_error( &_mysql ) ) + string( "\n" );
throw exc ;
}

mysql_close ( & _mysql );
return (0);
}



mi da questi strani errori?


xk.cpp:(.text+0x2c): undefined reference to `mysql_init'
xk.cpp:(.text+0x207): undefined reference to `mysql_real_connect'
xk.cpp:(.text+0x22b): undefined reference to `mysql_close'
xk.cpp:(.text+0x281): undefined reference to `mysql_error'
collect2: ld returned 1 exit status
Compilation failed.

sembra che nella sintassi non ci siano errori...:dhò:

oregon
12-03-2014, 11:11
Non sono strani. E' il linker che non riesce a trovare la libreria di mysql. Come compili?

armix9
12-03-2014, 11:16
io uso un programmino chiamato geany per compilare...

LeleFT
12-03-2014, 11:19
@armix9: il titolo della discussione serve a dare un'idea generale del problema trattato. "Programmazione c++" mi sembra quanto di più generico ci possa essere in un forum che, nel 90% dei casi, tratta discussioni che riguardando C++. Ma anche non fosse così, è comunque troppo generico: non dice nulla del tuo problema, che è pur sempre un problema ben più specifico che un generico problema di "programmazione c++".

Correggo io il titolo.


Ciao. :ciauz:

armix9
12-03-2014, 11:24
chiedo scusa :ciauz:

oregon
12-03-2014, 11:30
E nel makefile cosa c'è scritto?

armix9
12-03-2014, 11:31
intendi nel file .o?

oregon
12-03-2014, 11:32
No, quello è il file oggetto.

Per compilare cosa fai praticamente?

armix9
12-03-2014, 11:35
geany ti compila il programma semplicemente cliccando sul tastino in alto "build"...lo utilizzo per comodità

oregon
12-03-2014, 11:40
Devi usare la voce Set Build Commands per impostare correttamente la libreria di mysql quando viene lanciato il build

Loading