Salve,
sto cercando di far funzionare l'esempio riportato a questo indirizzo, dopo aver scaricato il plugin, da qui ma non riesco a farlo funzionare.
Il file che sto cercando di compilare è questo ma ho cambiato gli include, come segue, e per i motivi che sto per elencare non va.:
Sto cercando di compilare quel file sorgente in un progetto creato con Eclipse. Nella root del progetto ho copiato le directory lib e include, ma quando tento di compilare il file allegato, ho subito un errore alla riga 165:codice:/* MySQL Connector/C++ specific headers */ #include "include/cppconn/driver.h" #include "include/cppconn/connection.h" #include "include/cppconn/statement.h" #include "include/cppconn/prepared_statement.h" #include "include/cppconn/resultset.h" #include "include/cppconn/metadata.h" #include "include/cppconn/resultset_metadata.h" #include "include/cppconn/exception.h" #include "include/cppconn/warning.h"
undefined reference to `get_driver_instance'
poi un'altro alla riga 190
Invalid arguments 'Candidates are: sql::ResultSet * executeQuery(const ? & )'
Poi altri errori simili alla riga 207, 215 e 229.
A quanto vedo, non riconosce le funzioni chiamate, nonostante gli include che ho fatto all'inizio, ma allora non capisco dove sbaglio.
Ma c'è di più. Se vado a "ispezionare" il codice del file mysql_driver.h incluso nel tar.gz scaricato dal sito, c'è un'errore alla riga 50:
Symbol 'scoped_ptr' could not be resolved
ma anche nel file mysql_connection.h alla riga 156
Symbol 'shared_ptr' could not be resolved
Perché non funziona? Ho dimenticato qualche passaggio prima di usare il connector?
EDIT1: nel frattempo ho fatto qualche altra prova, e credo di aver capito qual'è il problema.
Gli errori di sopra li ho risolti installando mysql-connector-c++ tramite il package manager di Gentoo Linux, ed ora ho potuto riscrivere tutti gli include come nel file originario, però c'è ancora un problema: non mi vede il namespace sql.
EDIT2:: ho anteposto la scritta "using namespace sql;" alla scritta "using namespace std;", però l'errore alla riga 165 che ho riportato poco fa, ancora persiste.
EDIT3:: OK, risolto. Bisognava linkare al progetto anche questo:
/usr/lib64/libmysqlcppconn.so. Fonte.
Spero che possa essere utile a qualche altro utente.