Wprowadzenie.
W celu sprawdzenia, funkcje z biblioteki mysql.h będą poprawnie odczytywane w programie wykonamy prosty program, który pokaże nam wersję klienta MySQL.
Zakres wpisu.
- Program w C
- Plik Makefile
- Testy
Program w C
Kod programu, który pozwoli na przetestowanie działania funkcji z biblioteki mysql.h zapisałem w pliku main.c i wygląda następująco.
#include <stdio.h> #include <mysql/mysql.h> int main(int argc, char **argv) { printf("Wersja klienta MySQL: %s\n", mysql_get_client_info()); return 0; }
Plik Makefile
W celu skompilowania programu, który pozwoli nam na skorzystanie z funkcji obsługujących bazę danych w pliku Makefile należy wprowadzić flagi dla kompilatora oraz wymagane biblioteki.
Flagi kompilatora uzyskamy wpisując w konsoli polecenie:
$ mysql_config --cflags
Wynik powyższego polecenia wygląda następująco:
-I/usr/include/mysql -DBIG_JOINS=1 -fno-strict-aliasing -g -DNDEBUG
Biblioteki otrzymamy wpisując w konsoli polecenie:
$ mysql_config --libs
Wynik powyższego polecenia wygląda następująco:
-L/usr/lib/arm-linux-gnueabihf -lmysqlclient -lpthread -lz -lm -ldl
Plik Makefile wygląda następująco:
CC = gcc
CFLAGS = -DBIG_JOINS=1 -fno-strict-aliasing -g -DNDEBUG
LIBS = -lmysqlclient -lpthread -lz -lm -ldl
INCLUDES =
OBJ =\
main.o
all: main
clean:
rm -f *.o test
.c.o:
$(CC) -c $(INCLUDES) $(CFLAGS) $<
main: $(OBJ)
$(CC) $(OBJ) $(LIBS) -o test
Testy
Gdy już mamy wszystko przygotowane to w konsoli wpisujemy polecenie:
$ make
Następnie uruchamiamy nasz program poleceniem:
$ ./test
Wynik jaki otrzymamy powinien wyglądać następująco:
Wersja klienta MySQL: 5.5.62