Драйвер Qt C ++ Q MYSQL не загружен в MacOS - Руководство по сборке подключаемого модуля Q MYSQL - PullRequest
0 голосов
/ 24 марта 2020

Я просто потратил день на то, чтобы понять, как собрать драйверы для поддержки MySQL в Qt-приложении, потому что объяснение, данное в Qt-документации , было для меня недостаточно ясным (даже вводящим в заблуждение) , на самом деле), поэтому я решил поделиться шагами, которые сработали для меня.

Я делал это на MacOS 10.15.3, с mysql 8.0.19 и Qt 5.14.1.

1 Ответ

0 голосов
/ 24 марта 2020

Во-первых, вам, вероятно, нужно установить mysql. Я запустил эти три команды, но не уверен, что все они необходимы:

brew install mysql
brew install mysql-client
brew install mysql-connector-c

Это установило mysql в /usr/local/Cellar/mysql/8.0.19, а клиент в /usr/local/Cellar/mysql-client/8.0.18.

После установки клиента мой терминал попросил меня установить флаги компилятора:

  export LDFLAGS="-L/usr/local/opt/mysql-client/lib"
  export CPPFLAGS="-I/usr/local/opt/mysql-client/include"

Поэтому я добавил эти две строки в мой файл .bash_profile. (Этот файл устанавливает переменные окружения каждый раз, когда вы открываете терминал. Вы можете отредактировать его, просто перейдя в свой домашний каталог (cd ~) и набрав vim .bash_profile.)

Я также добавил mysql и mysql -клиенты пути к переменной PATH путем добавления этих двух строк в .bash_profile:

export PATH=${PATH}:/usr/local/Cellar/mysql/8.0.19
export PATH=${PATH}:/usr/local/Cellar/mysql-client/8.0.18

И пока мы работаем над этим, я также добавил путь к qmake-tool Qt:

export PATH=${PATH}:/Users/USERNAME/Qt/5.14.1/clang_64/bin (replace USERNAME with your username)

Теперь мы все настроены. Перейдите к папке sqldrivers в вашей Qt-установке, для меня это /Users/USERNAME/Qt/5.14.1/Src/qtbase/src/plugins/sqldrivers. (Кстати, установка Qt через brew у меня не сработала, мне пришлось скачать установщик с их сайта.)

В этой папке вам нужно запустить qmake с полным путем к вашему mysql - dylib-файлы, вот так:

qmake -- MYSQL_PREFIX=/usr/local/Cellar/mysql/8.0.19/lib

(обратите внимание, что это отличается от документации Qt, где они сообщают вам, что префикс / usr / local - вот почему Я назвал это вводящим в заблуждение.) Затем, все еще в папке sqldrivers, запустите make. Затем перейдите в подпапку mysql (cd mysql) и запустите make install. После этого я смог скомпилировать и запустить свой проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...