Konfiguracja Xcode do obsługi bazy MySQL
Aby mieć możliwość importu odpowiedniej biblioteki umożliwiającej korzystanie z bazy danych w C++ i w ogóle żeby skompilować poprawnie projekt trzeba odpowiednio skonfigurować IDE. Przyjrzyjmy się, krok po kroku jak to zrobić w przypadku systemu Mac OS X w środowisku Xcode.

Fot: Unsplash, CC0 Public Domain.
Po stworzeniu odpowiedniego projektu i wstępnej konfiguracji, możemy przejść do bardziej szczegółowych ustawień:
- Klikamy w prawej kolumnie na odnośnik do pliku konfiguracyjnego utworzonego projektu:

- Przy pomocy wyszukiwarki odnajdujemy opcję „
Header Search Paths” gdzie dodamy nowy odnośnik do plików obsługujących bazę MySQL:
- Do wcześniej odnalezionej opcji dodajemy adres „
/usr/local/mysql/include„:
- To samo wykonujemy dla „
Library Search Paths„, podając ścieżkę „/usr/local/mysql/lib„:
- Teraz musimy dodać odpowiednie flagi dla linkera, tak aby projekt poprawnie się skompilował. W tym celu odnajdujemy opcję „
Other Linker Flags” i dodajemy flagi: „-lmysqlclient„, „-lm„, „-lz„:
- Na samym końcu musimy jeszcze pozbyć się błędu związanego z klientem MySQL –
libmysqlclient.18.dylib, aby go usunąć musimy uruchomić terminal i przejść do folderu z plikamilibbazy MySQL, możemy to zrobić przy pomocy polecenia „cd /usr/local/mysql/lib„:
- Następnie uruchamiamy komendę „
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib„, klikamy enter oraz podajemy hasło administratora:
Po wykonaniu powyższych kroków możemy skompilować i uruchomić projekt obsługujący bazę MySQL.
Aktualizacja (stan na 2026): konfiguracja na współczesnym macOS
Powyższa instrukcja pochodzi z 2015 r. Sama zasada konfiguracji w Xcode (opcje Header Search Paths, Library Search Paths i flagi linkera) pozostaje aktualna, ale kilka szczegółów wygląda dziś inaczej:
- Oficjalny instalator MySQL dla macOS nadal umieszcza pliki w katalogu
/usr/local/mysql(dowiązanie do katalogu/usr/local/mysql-<wersja>-<platforma>) z podkatalogamiincludeilib. Ścieżki z punktów 3 i 4 pozostają więc poprawne przy tej metodzie instalacji. - Samą bibliotekę kliencką (bez serwera) najprościej zainstalować dziś menedżerem pakietów Homebrew poleceniem
brew install mysql-client(obecnie MySQL 9.x). Formuła jest typu „keg-only”, czyli jej pliki nie są dowiązywane do standardowego prefiksu Homebrew, więc wHeader/Library Search Pathswskazujemy katalogiincludeilibz katalogu instalacji formuły (jego ścieżkę wypisze poleceniebrew --prefix mysql-client, np./opt/homebrew/opt/mysql-client). - Kroki 6 i 7 (dowiązanie
libmysqlclientdo/usr/lib) na współczesnym macOS nie zadziałają: mechanizm System Integrity Protection chroni katalog/usr(z wyjątkiem/usr/local) przed zapisem nawet z użyciemsudo. Jeżeli dowiązanie okaże się potrzebne, można je utworzyć w dostępnym dla programistów katalogu/usr/local/lib.






Po wykonaniu powyższych kroków możemy skompilować i uruchomić