• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
in c mysql

mysql in C
#1
ciao a tutti,
sto provando a realizzare un controllo remoto utilizzando un raspberry pi tipo B.
Per  inviare dall'esterno i comandi vorrei utilizzare come "spnda" un server mysql.
Ora vorrei porvare a capire come utilizzare con raspberri in c un client mysql.
ho installato i pacchetti:
Codice:
mariadb-client e libmariadb-dev

poi ho scritto un piccolo progremmino per vedere:

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <mariadb/mysql.h>

int main(int argc, char **argv)
{
printf("prova ");
exit(0);
}

e fino qui tutto ok, ma appena provo a fare di piu`:

Codice:
#include <stdio.h>
#include <stdlib.h>
#include <mariadb/mysql.h>

int main(int argc, char **argv)
{
printf("prova ");
printf("verisone %s\n", mysql_get_client_info());
exit(0);
}

il compilatore gcc dice:

Codice:
/usr/bin/ld: /tmp/ccuhokTc.o: in function `main':
mysql.c:(.text+0x1c): undefined reference to `mysql_get_client_info'
collect2: error: ld returned 1 exit status

Qualcuno ha qualche consiglio?
Grazie ciao Ivo
Risposta
#2
Questo link potrebbe darti una indicazione: https://www.appsloveworld.com/eclipse/10...e-centos-6
Risposta
#3
(29/12/2022, 21:42)ippogrifo Ha scritto: Questo link potrebbe darti una indicazione: https://www.appsloveworld.com/eclipse/10...e-centos-6

Grazie ippogrifo

ho provato qualche soluzione riportata sul sito che mi hai consigliato ma c'è qualcosa che non va:

Codice:
$ gcc -o mysql mysql.c mysql_config --cflags --libs
gcc: error: mysql_config: File o directory non esistente
gcc: error: unrecognized command-line option '--cflags'
gcc: error: unrecognized command-line option '--libs'; did you mean '--libs='?

$ gcc -o mysql mysql.c -lmysqlclient                       
/usr/bin/ld: impossibile trovare -lmysqlclient
collect2: error: ld returned 1 exit status

$ gcc -o mysql mysql.c -L/usr/include/mariadb -lmysqlclient -lz
/usr/bin/ld: impossibile trovare -lmysqlclient
collect2: error: ld returned 1 exit status

$ gcc -o mysql mysql.c -L/usr/include/mariadb/mysql -lmysqlclient -lz
/usr/bin/ld: impossibile trovare -lmysqlclient
collect2: error: ld returned 1 exit status

ho provanto anche a cercare il percorso della libreria:
Codice:
$ find /usr/ -name 'libmysqlclient.a'
ma non trova nulla.

Pensavo che installando la libreria mariadb-client automaticamente si installasse anche mysql ma forse non è così.
Risposta
#4
Prova questo link: https://zetcode.com/db/mysqlc/; mariadb è una derivazione di mysql e quindi potrebbe non aver installato tutto.
Risposta
#5
grazie ippogrifo
Purtroppo c'è qualcosa che non capisco,
Mysql è installato, perché da riga di comando funziona, le librerie per c ci sono visto che trova gli include, credo sia un problema di compilazione, su vari siti si consiglia di usare parametri tipo:
Codice:
`mysql_config --cflags --libs`
Ma non trova il comando mysql_config?
Grazie ciao Ivo
Risposta
#6
pare che mysql_config sia in un pacchetto separato, prova
Codice:
sudo apt-get libmysqlclient-dev

Se stai usando MariaDB, poi lanca
Codice:
sudo apt-get install libmariadbclient-dev

fonte
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect