Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: sergp от Ноябрь 07, 2006, 08:41 Переехал на 4.2.1, под Linux - ни каких проблем, сказка.
Пытаюсь перекинуть проект под Windows. версия Open Source и там и там, сделал ему configure -qt-sql-mysql потом make, он ругнулся на отсутствие mysql.h я ему в Makefile.Debug и Makrfile.Release прописал пути к заголовкам mysql, а так же путь к самой библиотеке libmysql.dll, (если память не изменяет, не под руками). Он все это благополучно схавал, однако линковщик ld.exe начал много ругаться на предмет unresolvel symbols. Встречался и ранее с таким, когда заголовки от одной версии библиотеки, а сама библиотека - другой, но здесь mysql server - ставил одну инсталляху, в которой отметил SDK, сам mysql работает. Вот и не выходит у меня Qt-шный драйвер под mysql откомпилировать. Может встречался кто и подкинет умную мыслишку? Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: Dendy от Ноябрь 07, 2006, 09:19 Под виндой лучше не собирать драйвер MySql с помощью configure. И править МейкфайльІ - последнее дело. Идём в Ассистант и читаем:
Цитировать You need to get the MySQL installation files. Run SETUP.EXE and choose "Custom Install". Install the "Libs & Include Files" Module. Build the plugin as follows (here it is assumed that MySQL is installed in C:\MySQL): Код: cd %QTDIR%\src\plugins\sqldrivers\mysql If you are not using a Microsoft compiler, replace nmake with make in the line above. Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: QCasper от Ноябрь 07, 2006, 14:03 Чуваг, ты попал :D
Смотри сюда http://prog.org.ru/forum/htopic_3197_mysql.html Хотя может тебе, конечно, больше повезет. А по поводу 4.2 или 4.1, мне кажется в случае с mysql один фиг. Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: Mikhail от Ноябрь 07, 2006, 18:16 При сборке Qt пользуйтесь configure и не ломайте голову. Умные люди для вас работали. Чтение configure help дает ясный ответ:
configure -qt-sql-mysql -IC:\mysql\include -lC:\mysql\lib\opt\libmysql При условии, что MySql лежит в папке C:\mysql и соответственно C:\mysql\include - папка заголовков, а C:\mysql\lib\opt\ - папка библиотек MySql. Все прекрасно собирается и работает. Опробовано. При переносе программы на любую машину необходимо переносить и libmysql.dll, скопировав последний или в папку программы или в папку в соответствии с путями (PATH). Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: SLiDER от Ноябрь 07, 2006, 22:39 Судя по вашему посту собираете вы все это чем-то вроде MINGW, если я не ошибаюсь, то QCasper дал правильную ссылку, если мне память не изменяет то я там писал что нужно будет сделать для достижения задуманного результата.
А в кратце, проблема в том, что уже довольно давно в комплекте с MySQL не идет ни одной библиотеки для, выше указанного, компилятора, и их нужно сделать самому, ручками. :wink: Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: Mikhail от Ноябрь 08, 2006, 09:32 Все это для MSVC. Проверено.
Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: Dendy от Ноябрь 08, 2006, 10:50 Цитата: "Mikhail" configure -qt-sql-mysql -IC:\mysql\include -lC:\mysql\lib\opt\libmysql Да, есть возможность собрать Qt вместе з драйвером таким способом. Но ИМХО ето потенциально неверно. Дерево в том, что Qt самодостаточна. Кроме зависимостей от сторонних библиотек для драйверов баз данньІх никаких других зависимостей нет. Все третесторонние библиотеки находятся прямо с дистрибутивом Qt и гарантированно собираются и работают вместе с данньІм дистрибутивом. Если же возникнут проблемьІ со сторонней библиотекой, пути к которой прописаньІ в параметрах configure - оборвётся сборка всей либьІ, что как минимум глупо. Так что я б посоветовал просто лишний раз запустить qmake && make для нужного драйвера после сборки Qt. :wink: Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: Mikhail от Ноябрь 08, 2006, 11:38 Разговор идет о разных вещах.
Qt предполагает два варианта использования SQL драйверов. Help configure дает: -qt-sql-<driver> ... Enable a SQL <driver> in the Qt Library. -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to at run time. то есть можно либо использовать SQL драйвер скомпилированный как плагин, либо включить драйвер SQL в Qt библиотеку, а именно в QtSql. Читать надо и assistant и help configure...... и поступать умно в соответствии со своими предпочтениями. Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: sergp от Ноябрь 08, 2006, 12:08 Еще раз доброе время суток!
Assistant я конечно же читал и все манипуляции типа make -o Makefile "INCLUDEPATH+=.... " "LIBS+= ..." вносят в Makefile именно те изменения, которые я вношу руками. Если в configure указываю какие либо опции -I или -L он тупо выдает мне свой хелп. Пробовал с кавычками, без кавычек, с пробелами и без них. 2SLiDER: компилю именно с помощью MINGW, по ссылке указаной QCasper'ом не нашел ответа на вопрос касающийся: "...давно в комплекте с MySQL не идет ни одной библиотеки для, выше указанного, компилятора, и их нужно сделать самому, ручкам..." Можно как нибудь эту тему освятить по подробнее. Под винду никогда ничего не компилировал, просто нужда заставляет. Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: Dendy от Ноябрь 08, 2006, 12:11 Да, точно. Совсем забьІл, что -qt-sql-<driver> линкует статически к библиотеке, а не создаёт плагин.
Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: sergp от Ноябрь 08, 2006, 12:11 Цитата: "Mikhail" Разговор идет о разных вещах. Qt предполагает два варианта использования SQL драйверов. Help configure дает: -qt-sql-<driver> ... Enable a SQL <driver> in the Qt Library. -plugin-sql-<driver> Enable SQL <driver> as a plugin to be linked to at run time. то есть можно либо использовать SQL драйвер скомпилированный как плагин, либо включить драйвер SQL в Qt библиотеку, а именно в QtSql. . попробуем... Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: Tonal от Ноябрь 08, 2006, 18:36 Цитата: "sergp" 2SLiDER: компилю именно с помощью MINGW, по ссылке указаной QCasper'ом не нашел ответа на вопрос касающийся: "...давно в комплекте с MySQL не идет ни одной библиотеки для, выше указанного, компилятора, и их нужно сделать самому, ручкам..." Можно как нибудь эту тему освятить по подробнее. Под винду никогда ничего не компилировал, просто нужда заставляет. Поищи утилиту reimp - она из импортных библиотек от VC делает импортные дибы для mingw. Напускаешь ея на MySQL\lib\opt\libmysql.lib и получаешь libmysql.a В принципе можно и без неё это проделать, но с ней - удобнее. Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: Dendy от Ноябрь 08, 2006, 20:13 Как получить .a файл из Студийной DLL'ки:
Код: cd c:/mysql/lib А вообще вот полезная страничка: http://mywebpage.netscape.com/yongweiwu/stdcall.htm Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: SLiDER от Ноябрь 08, 2006, 23:40 Цитата: "sergp" 2SLiDER: компилю именно с помощью MINGW, по ссылке указаной QCasper'ом не нашел ответа на вопрос касающийся: "...давно в комплекте с MySQL не идет ни одной библиотеки для, выше указанного, компилятора, и их нужно сделать самому, ручкам..." Можно как нибудь эту тему освятить по подробнее. Под винду никогда ничего не компилировал, просто нужда заставляет. В той теме я действительно ни чего не писал, звиняйте ошибочка вышла. Смотреть надобно здесь -> http://prog.org.ru/forum/lhtopic_2417_0_0_asc_mysql.html Название: Qt 4.2.1, драйвер mysql под Windows Отправлено: sergp от Ноябрь 09, 2006, 18:29 Цитата: "SLiDER" Смотреть надобно здесь -> http://prog.org.ru/forum/lhtopic_2417_0_0_asc_mysql.html Посмотрел, все откомпилилось, собралось, появился плагин QMYSQL, запускаю qtdemo SQL Browser пытаюсь подключиться к своей базе (выбрав соответственно QMYSQL из списка) и имею QMYSQL: Unable to open database 'blablabla' локальным mysql клиентом нормально подключаюсь. Может чего-то не доделал? |