Russian Qt Forum
Ноябрь 25, 2024, 08:30 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: Не получается скомпилировать драйвер MySQL  (Прочитано 18655 раз)
qwyllum
Гость
« : Апрель 11, 2013, 16:53 »

Пытаюсь скомпилировать следующим образом:

>cd C:\Qt\Qt5.0.1\5.0.1\src\qtbase\src\sql\

C:\Qt\Qt5.0.1\5.0.1\Src\qtbase\src\sql>qmake -o Makefile <INCLUDEPATH+=C:\MySQL\include> <LIBS+=C:\MySQL\lib\opt\libmysql.lib> sql.pro

Project MESSAGE: C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin\syncqt.bat -module QtSql -mk
specsdir C:\Qt\Qt5.0.1\5.0.1\mingw47_32/mkspecs -outdir C:/Qt/Qt5.0.1/5.0.1/Src/
qtbase C:/Qt/Qt5.0.1/5.0.1/Src/qtbase
"perl.exe" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Project ERROR: Failed to run: C:\Qt\Qt5.0.1\5.0.1\mingw47_32\bin\syncqt.bat -mod
ule QtSql -mkspecsdir C:\Qt\Qt5.0.1\5.0.1\mingw47_32/mkspecs -outdir C:/Qt/Qt5.0
.1/5.0.1/Src/qtbase C:/Qt/Qt5.0.1/5.0.1/Src/qtbase

----

Установил себе active perl, но результат не изменился. Пробовал найти уже скомпилированные драйвера. Скачал драйвера вроде qsqlmysql4.dll, закинул их все в папку sqldrivers в проект по мануалу вот этому http://buldin.org/?p=31. Также драйвер libmySQL.dll добавил в папку с приложением. Проверяю так:

Код:
 if (!QSqlDatabase::drivers().contains("QMYSQL"))
        QMessageBox::critical(0, "Unable to load database", "This program needs the MySQL driver");

Подскажите пожалуйста, что я не так делаю? Мне нужна поддержка MySQL. Обязательно ли для этого компилировать драйвер или можно скачать готовый? Как его подключить в таком случае???
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Апрель 11, 2013, 17:12 »

Скачал драйвера вроде qsqlmysql4.dll

Это драйвер от Qt4, он не будет работать.

Установленный Perl в PATH есть?
Записан
qwyllum
Гость
« Ответ #2 : Апрель 11, 2013, 17:15 »

Установленный Perl в PATH есть?
Имя переменной: perl
Значение переменной: C:\Perl\site\bin;C:\Perl\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Апрель 11, 2013, 17:22 »

ещё непонятно зачем угловые скобки в строке с qmake (<INCLUDEPATH+=....)
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #4 : Апрель 11, 2013, 17:23 »

Установленный Perl в PATH есть?
Имя переменной: perl
Значение переменной: C:\Perl\site\bin;C:\Perl\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\strawberry\c\bin;C:\strawberry\perl\site\bin;C:\strawberry\perl\bin

И если ввести в консоли perl.exe, то он нормально запустится?
Записан
qwyllum
Гость
« Ответ #5 : Апрель 11, 2013, 19:06 »

И если ввести в консоли perl.exe, то он нормально запустится?
Если вводить в виндовской cmd - нормально
Если в Qt-шной - "perl.exe" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

Записан
qwyllum
Гость
« Ответ #6 : Апрель 11, 2013, 22:24 »

Хорошо, допустим я могу эти драйвера в интернете скачать и не заморачиваться с компиляцией?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #7 : Апрель 11, 2013, 22:25 »

Хорошо, допустим я могу эти драйвера в интернете скачать и не заморачиваться с компиляцией?

Да. Мажорная версия Qt и используемый компилятор должны совпадать.
Записан
qwyllum
Гость
« Ответ #8 : Апрель 11, 2013, 22:33 »


Да. Мажорная версия Qt и используемый компилятор должны совпадать.
Спасибо большое за ответ. Теперь я понимаю, почему скачанные драйвера не работают. Может кто-нибудь, кто успешно решил проблему компиляции поделится драйвером MySQL? У меня Qt 5.0.1 и mingw47_32.

Заранее огромное спасибо
Записан
qwyllum
Гость
« Ответ #9 : Апрель 12, 2013, 07:46 »

Пробовал собрать по инструкции вот так:

cd C:\Qt\Qt5.0.1\5.0.1\Src\qtbase\src\plugins\sqldrivers\mysql

>qmake -o Makefile "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro

никаких ошибок не выдается. но следующий шаг:

>nmake
"nmake" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.


Я уже в тупике если честно. Что я делаю не так?
Записан
Bepec
Гость
« Ответ #10 : Апрель 12, 2013, 07:59 »

nmake нужно набирать в командной строке VS. Пуск -> Microsoft VS -> tools-> command promt.

PS я удивлён очень сильно чтобы собрать нормальную библиотеку или ещё что под винду. необходимо танцы плясать Веселый
Записан
qwyllum
Гость
« Ответ #11 : Апрель 12, 2013, 11:50 »

nmake нужно набирать в командной строке VS. Пуск -> Microsoft VS -> tools-> command promt.

PS я удивлён очень сильно чтобы собрать нормальную библиотеку или ещё что под винду. необходимо танцы плясать Веселый
Прошу прощения, значит я не так понял ситуацию. У меня установлен Qt 5.0.1 вместе с Qt creator и mingw47_32.

Я пробовал уже по нескольким мануалам и даже скачивал драйвера, которые уже кто-то до меня скомпилировал, но то ли версии не подошли то ли еще что-то, но не могу заставить работать программу. Мне выдается:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE
Записан
qwyllum
Гость
« Ответ #12 : Апрель 12, 2013, 11:56 »

Пробовал делать по мануалу http://www.doc.crossplatform.ru/qt/4.3.2/sql-driver.html

Цитата: Если вы используете компилятор не от Microsoft, замените nmake на make.

Результат:
>make
"make" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

Такое ощущение, что мой ноутбук проклят >_____<
Записан
Bepec
Гость
« Ответ #13 : Апрель 12, 2013, 12:07 »

Такое ощущение, что у вас не прописаны переменные окружения Веселый
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #14 : Апрель 12, 2013, 13:16 »

Цитата: Если вы используете компилятор не от Microsoft, замените nmake на make.
щущение, что мой ноутбук проклят >_____<

Эти мануалописатели вообще не заморачиваются особенностями. В случае с mingw команда будет mingw32-make. В PATH, естественно, mingw должен быть.
Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.072 секунд. Запросов: 23.