QtCreator+MySql/(XP&Linux)/сборка и работа с lib(dll)?, Qt Creator IDE version 2.4.1 + MySql 5.5 (все от 01.02.2012) |
Здравствуйте, гость ( Вход | Регистрация )
QtCreator+MySql/(XP&Linux)/сборка и работа с lib(dll)?, Qt Creator IDE version 2.4.1 + MySql 5.5 (все от 01.02.2012) |
sasa |
10.2.2012, 22:13
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 10.2.2012 Пользователь №: 3213 Спасибо сказали: 0 раз(а) Репутация: 0 |
Добрый день-вечер-ночь!
Задача и проблема: !!! запустить проект под windows и linux (просто перекомпилируя исходники в ОС)... (при работе без базы всё было прекрасно... , но нужно брать ещё и из неё данные) Исходные данные: 1) машина XP SP3 (c сетью) и установленным клиентом MySql 5.5 и QTCreator 2.4.1 (от 1 февраля 2012) 2) машина под Linux(Debian) (c сетью) и QTCreator(базу видит). 3) и отдельная машина с БД MySql5. А теперь вопорс(ы): Как же всё-таки собрать библиотеку под XP для MySql (по всем гайдам теперь таких путей нет!!!)? Я на всё согласен: mingw или msvc (есть и MVS2010(SP1) если нужно) ---> скажите только как... Может иначе инсталить QT4 (согласен писать под XP из под MVS2010 а не Creator - опыт есть и там и там)... Главное чтоб в исходиках #include <mysql.h> полнималось и в XP и в Linux при компиляции и запускались выполняемые файлы соответственно. Может у кого есть примеры - буду очень рад... Спасибо! |
|
|
good_game |
15.2.2012, 13:12
Сообщение
#2
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Sasa, строку типа #include <mysql.h> у тебя в коде быть не должно, если ты пишешь в QtCreator. В Qt есть отличные классы для работы с базами данных (QSqlDatabase, QSqlQuery и т д). Им просто подсовываешь нужные драйверы и необходимость вникать в тонкости работы с конкретной СУБД пропадает. Это бывает в специальных случаях, но не в тех, когда работают с MySQL .
Я делал вот как: 1) компилируем драйвер. По этому вопросу гайдов найдёшь много. Возможно немного помучаешься, но задача в целом несложная. Для мускуля должны получиться файлы: libqsqlmysql4.a, libqsqlmysqld4.a, qsqlmysql4.dll, qsqlmysqld4.dll. Думаю тут объяснять не нужно какой файл для чего. 2) Вот код для создания соединения:
3) в директорию с прогой кидаешь libmySQL.dll соответствующей версии. 4) И последний совет: когда прогу скомпилируешь и будешь тестить на машине, на которой Qt не стоит, то в диретории, где лежит прога, создаёшь папку "sqldrivers", в неё кидаешь файл "qsqlmysql4.dll". Звучит как бред, но без этого не работает иногда. Причину не знаю. Удачи. |
|
|
sasa |
17.2.2012, 16:58
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 10.2.2012 Пользователь №: 3213 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо, good_game!
Насчет include конечно так = +Sql ! В том и дело, что пока даже собрать под XP не могу (я не спец по "сделай сам") - гайды теперь не рабочие... пути поменялись, файлы изменились и многих теперь нет! Пока ушел чисто на Linux - там как-то работает... |
|
|
sasa |
25.5.2012, 10:24
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 3 Регистрация: 10.2.2012 Пользователь №: 3213 Спасибо сказали: 0 раз(а) Репутация: 0 |
Все заработало в XP.
/sqldrivers - бред конечно..., но работает!!! Спасибо большое! |
|
|
good_game |
24.10.2012, 21:59
Сообщение
#5
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Про sqldrivers оказалось не бред. Оказывается это один из путей, где программа по-умолчанию ищет драйвера для SQL-серверов. То есть в принципе драйвера можно не в эту папку кидать, а в системные директории и прога её найдёт (лишь бы в PATH был соответствующий путь прописан).
Кстати, аналогичным образом программа, сделанная в QT может искать плагины для чтения ICO, GIF и других файлов картинок в директории imageformats. В частности там прога может искать qgif4.dll, qico4.dll, qjpeg4.dll и т д. Так что никакой магии, всё логично. |
|
|
Litkevich Yuriy |
26.10.2012, 14:21
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 30.11.2024, 6:51 |