Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    36

    [C++] Errori "undefined reference" su librerie mysql durante compilazione

    salve a tutti....perchè quando cerco di compilare questo codice

    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...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Non sono strani. E' il linker che non riesce a trovare la libreria di mysql. Come compili?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    36
    io uso un programmino chiamato geany per compilare...

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    @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.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    36
    chiedo scusa

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    E nel makefile cosa c'è scritto?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    36
    intendi nel file .o?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No, quello è il file oggetto.

    Per compilare cosa fai praticamente?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    36
    geany ti compila il programma semplicemente cliccando sul tastino in alto "build"...lo utilizzo per comodità

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Devi usare la voce Set Build Commands per impostare correttamente la libreria di mysql quando viene lanciato il build
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.