Sto cercando di fare il progetto assegnato dal prof. Basili usando ODBC con MySQL ma
ho un piccolo problema.
Ho scaricato il Driver ODBS e MySQL dal sito.
Una volta installati i due componenti e il Borland C++ ho provato a far
partire uno degli esempi visti in aula che si trovano sul sito del corso, in
particolare il file E1.cpp dove si fa vedere come ci si connette ad un DB.
Il problema è che il linker non riesce a risolvere dei collegamenti esterni
alle funzioni di connessione del DB.
Dove sbaglio?
Oltre ad installare semplicemente ODBC e MySQL devo fare qualcosa, come
attivarli, creare account ecc?
Oppure il problema è una altro?
Grazie a tutti per i suggerimenti
- Valefede
- Ingegneria Informatica - Triennale
- Giovedì, 27 Novembre 2003
- Subscribe via email
Comment
There are no comments made yet.
Accepted Answer
Pending Moderation
I programmi mostrati alla parte del corso su MySQL, non hanno nulla a che
vedere con ODBC. Infatti i programmi non si appoggiano su quello strato
intermedio sw ma usano direttamente le librerie di MySQL.
Il motivo per cui non riesci a compilare e' perche' hai bisogno di
specificare sia la directory con gli header e la directory con le librerie.
Cioe' devi specificare al compilatore che quando fai:
#include <mysql.h>
deve cercare quel file in una bena determinata cartella.
Lo stesso vale per le funzioni di mysql, cioe' se nel codice c'e':
mysql_connect(...)
quella funzione e' una funzione esterna che appartiene ad una ben
determinata libreria di mysql, libmysqlclient.lib. Questi parametri erano
gia' impostati per il progetto sul sito che fa riferimento a Visual C++.
Se usassi gcc (il
compilatore C gnu) i parametri sarebbero qualcosa del genere:
gcc file.c -o file -I<direcotry con l'header> -L<directory con le librerie>
-lmysqlclient
in cui:
file.c e' il file C che vuoi compilare
file e' l'eseguibile di uscita
<directory con l'header > e' la dir in cui c'e' mysql.h
<direcotory con le librerie> e' la dir in cui c'e' libmysql.lib o comunque
un file .lib.
Con -lmysqlclient indichi al compilatore di usare la libreria
libmysqlclient.lib
vedere con ODBC. Infatti i programmi non si appoggiano su quello strato
intermedio sw ma usano direttamente le librerie di MySQL.
Il motivo per cui non riesci a compilare e' perche' hai bisogno di
specificare sia la directory con gli header e la directory con le librerie.
Cioe' devi specificare al compilatore che quando fai:
#include <mysql.h>
deve cercare quel file in una bena determinata cartella.
Lo stesso vale per le funzioni di mysql, cioe' se nel codice c'e':
mysql_connect(...)
quella funzione e' una funzione esterna che appartiene ad una ben
determinata libreria di mysql, libmysqlclient.lib. Questi parametri erano
gia' impostati per il progetto sul sito che fa riferimento a Visual C++.
Se usassi gcc (il
compilatore C gnu) i parametri sarebbero qualcosa del genere:
gcc file.c -o file -I<direcotry con l'header> -L<directory con le librerie>
-lmysqlclient
in cui:
file.c e' il file C che vuoi compilare
file e' l'eseguibile di uscita
<directory con l'header > e' la dir in cui c'e' mysql.h
<direcotory con le librerie> e' la dir in cui c'e' libmysql.lib o comunque
un file .lib.
Con -lmysqlclient indichi al compilatore di usare la libreria
libmysqlclient.lib
Comment
There are no comments made yet.
- more than a month ago
- Ingegneria Informatica - Triennale
- # 1
- Page :
- 1
There are no replies made for this post yet.
Be one of the first to reply to this post!
Be one of the first to reply to this post!
Please login to post a reply
You will need to be logged in to be able to post a reply. Login using the form on the right or register an account if you are new here. Register Here »