Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > QT + mysql plugin


Автор: Platon 13.2.2007, 10:39
Здравствуйте, уважаемые.

Пытался я установить плагин Mysql на Qt, но попытка увенчалась неудачей.
После нескольких сгенерированных файлов выдается такая штука:
Цитата

NMAKE : fatal error U1077: 'd:\main\MinGW\bin\g++.EXE' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"D:\Main\Microsoft Visual Studio 8\VC\bin\nmake.exe"
' : return code '0x2'
Stop.


вот что последнее пишет nmake. собирал я все как указано в http://doc.trolltech.com/4.2/sql-driver.html.

1 мой товарищ, возмутился, почему это вызывается g++ когда nmake должен работать с cl. Да, здорово конечно, но как это сделать. как собрать манифесты так что бы связка была nmake - cl или какое-то другое решение?

Автор: rainbow86 13.2.2007, 10:48
Цитата

1 мой товарищ, возмутился, почему это вызывается g++ когда nmake должен работать с cl. Да, здорово конечно, но как это сделать. как собрать манифесты так что бы связка была nmake - cl или какое-то другое решение?


configure -platform win32-msvc2005

или установи переменную окружения QMAKESPEC в win32-msvc2005

Вроде так.

Автор: Любитель 13.2.2007, 15:38
Код

SET QMAKESPEC=win32-msvc2005
qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro
nmake

Для надёжности - убери из инклюд и либ путей MinGW - могут конфликтовать.

Автор: Platon 13.2.2007, 16:00
было дело smile
и тут не все пучком:

Код

configure -fast -qt-sql-mysql -I "c:\www\mysql5\include" -l "c:\www\mysql5\lib\opt\libmysql.lib"

Environment:
    INCLUDE=
      Unset
    LIB=
      Unset
    PATH=
      d:\main\Qt\bin
      d:\main\MinGW\bin
      C:\WINDOWS\System32
      d:\main\Qt\bin
      d:\main\MinGW\bin
      C:\WINDOWS\System32
      "D:\Main\Microsoft Visual Studio 8\VC\bin"

Configuration:
    minimal-config
    small-config
    medium-config
    large-config
    full-config
    build_all
    debug
Qt Configuration:
    release
    debug
    zlib
    no-gif
    png
    accessibility
    qt3support
    opengl
    ipv6

QMAKESPEC...................win32-msvc2005 (env)
Architecture................windows
Maketool....................nmake
Debug symbols...............yes
Accessibility support.......yes
STL support.................yes
Exception support...........yes
RTTI support................yes
OpenGL support..............yes
Qt3 compatibility...........yes

Third Party Libraries:
    ZLIB support............qt
    GIF support.............no
    JPEG support............plugin
    PNG support.............qt
    MNG support.............plugin

Styles:
    Windows.................yes
    Windows XP..............no
    Plastique...............yes
    Cleanlooks..............yes
    Motif...................yes
    CDE.....................yes

Sql Drivers:
    ODBC....................no
    MySQL...................yes
    OCI.....................no
    PostgreSQL..............no
    TDS.....................no
    DB2.....................no
    SQLite..................yes
    SQLite2.................no
    InterBase...............no

Sources are in..............D:\Main\Qt
Build is done in............D:\Main\Qt
Install prefix..............D:\Main\Qt
Headers installed to........D:\Main\Qt\include
Libraries installed to......D:\Main\Qt\lib
Plugins installed to........D:\Main\Qt\plugins
Binaries installed to.......D:\Main\Qt\bin
Docs installed to...........D:\Main\Qt\doc
Data installed to...........D:\Main\Qt
Translations installed to...D:\Main\Qt\translations
Examples installed to.......D:\Main\Qt\examples
Demos installed to..........D:\Main\Qt\demos


Include paths...............c:\www\mysql5\include
Additional libraries........-lc:\www\mysql5\lib\opt\libmysql.lib
Creating qmake...
execute: File or path is not found (nmake)
execute: File or path is not found (nmake)
Cleaning qmake failed, return code -1


не смекну что не так? Может путь: Additional libraries........-lc:\www\mysql5\lib\opt\libmysql.lib?

Автор: Любитель 13.2.2007, 16:28
Platon, запуская из консольки VS. У тебя её в PATH нету. Хотя ты пишешь
Цитата(Platon @  13.2.2007,  16:00 Найти цитируемый пост)
"D:\Main\Microsoft Visual Studio 8\VC\bin"

Набери в консоле SET PATH. Посмотри результат.

Автор: Platon 13.2.2007, 16:44
Любитель, как это у меня ее нету?

D:\Main\Qt>SET PATH
Path=d:\main\Qt\bin;d:\main\MinGW\bin;C:\WINDOWS\System32;d:\main\Qt\bin;d:\main
\MinGW\bin;C:\WINDOWS\System32;"D:\Main\Microsoft Visual Studio 8\VC\bin"
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

вот результат.

Автор: Любитель 13.2.2007, 16:47
Набери в той же консоли nmake - что выдаёт? И
Цитата(Любитель @  13.2.2007,  16:28 Найти цитируемый пост)
запускай из консольки VS


Автор: Platon 13.2.2007, 17:14
выдает кучу всяких генерируемых файликов с их конфами, 
Код

        g++ -c -O2 -O2 -frtti -fexceptions -Wall -DUNICODE -DQT_LARGEFILE_SUPPOR
T -DQT_EDITION=QT_EDITION_DESKTOP -DQT_BOOTSTRAPPED -DQT_MOC -DQT_NO_CODECS -DQT
_LITE_UNICODE -DQT_NO_LIBRARY -DQT_NO_STL -DQT_NO_COMPRESS -DQT_NO_DATASTREAM -D
QT_NO_TEXTSTREAM -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_THREAD -DQT_NO_
REGEXP -DQT_NO_QOBJECT -DQT_NO_SYSTEMLOCALE -DQT_NODLL -I"..\..\corelib\arch\gen
eric" -I"D:/Main/Qt/include" -I"." -I"D:/Main/Qt/include/QtCore" -I"." -I"..\..\
..\mkspecs\win32-g++" -o release\qfileinfo.o ..\..\corelib\io\qfileinfo.cpp


вот много такой чуши.

 smile  знать бы где лежит эта консолька VS, вот это не знаю   smile

Добавлено @ 17:16 
Цитата(Любитель @  13.2.2007,  16:28 Найти цитируемый пост)
Хотя ты пишешьЦитата(Platon @  13.2.2007,  16:00 )"D:\Main\Microsoft Visual Studio 8\VC\bin"

Это не я писал, это configure сам все это выдает.

Автор: rainbow86 14.2.2007, 12:01
Цитата

знать бы где лежит эта консолька VS, вот это не знаю 


Из VS->Tools->Visual Studio 2005 Command Prompt
или 
Пуск->Все программы->MS Visual Studio->Visual Studio Tools->Visual Studio 2005 Command Prompt

Автор: Platon 14.2.2007, 12:10
Спасибо, rainbow86.

Любитель, вот такая штука
 
Код

Setting environment for using Microsoft Visual Studio 2005 x86 tools.

d:\main\Microsoft Visual Studio 8\VC>SET PATH
Path=d:\main\Microsoft Visual Studio 8\Common7\IDE;d:\main\Microsoft Visual Stud
io 8\VC\BIN;d:\main\Microsoft Visual Studio 8\Common7\Tools;d:\main\Microsoft Vi
sual Studio 8\Common7\Tools\bin;d:\main\Microsoft Visual Studio 8\VC\PlatformSDK
\bin;d:\main\Microsoft Visual Studio 8\SDK\v2.0\bin;C:\WINDOWS\Microsoft.NET\Fra
mework\v2.0.50727;d:\main\Microsoft Visual Studio 8\VC\VCPackages;d:\main\Qt\bin
;d:\main\MinGW\bin;C:\WINDOWS\System32;d:\main\Qt\bin;d:\main\MinGW\bin;C:\WINDO
WS\System32;"D:\Main\Microsoft Visual Studio 8\VC\bin"
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

d:\main\Microsoft Visual Studio 8\VC>nmake

Microsoft (R) Program Maintenance Utility Version 8.00.50727.42
Copyright (C) Microsoft Corporation.  All rights reserved.

NMAKE : fatal error U1064: MAKEFILE not found and no target specified
Stop.

Автор: rainbow86 14.2.2007, 12:52
nmake надо впапке с qt делать, где лежит makefile!

Автор: Любитель 16.2.2007, 12:27
Набирай просто то, что я писал выше. SET PATH и nmake - были просто проверки.

Автор: Platon 16.2.2007, 13:11
Любитель, я просто набрал smile вот результат что дальше?

Автор: Любитель 17.2.2007, 22:35
Имелось ввиду ещё выше:
Код

qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro
nmake

Перед этим цд=хаемся в папку с плагином для MySQL. Работаем из VS-консоли.

Автор: Platon 18.2.2007, 10:01
Угу, другая картина. Но все равно неудачно, в общем сначала делал строку 
Цитата

D:\Main\Qt\src\plugins\sqldrivers\mysql>qmake -o Makefile "INCLUDEPATH+=C:\www\M
ySQL5\include" "LIBS+=C:\www\MySQL5\lib\opt\libmysql.lib" mysql.pro


выдает, не могу открыть файлик C:\www\MySQL5\lib\opt\libmysql.lib.lib

Ну это ладно, я в Manifest'ах поправил эту строчку, и о чудо, с 3-го раза собралось smile 
НО утишения не много. Проверил QSqlDatabase::drivers(), QMYSQL так и нет, ну ладно, подкулючил файл QMYSQLDriver, компилирую... НЕТ, не может найти злосчастный mysql.h файл.

PS: Ё-маё, сколько хлопот с этим плагином!!!

Автор: Любитель 18.2.2007, 14:51
Если тебе часто нужен MuSQL из Qt - пересобери саму куте с компилированием MySQL в саму Qt, а не плагином.

Автор: Platon 21.2.2007, 18:07
Угу, спасибо дельный совет, респект.
Правда я так и не понял почему при введение стандартной строки где у меня пишется путь к библиотеке libmysql.lib у меня все мейкфайлы настроились на libmysql.lib.lib, пришлось создать такой файлик.

Автор: Любитель 25.2.2007, 15:44
Странно, у меня нормально работает  smile 

Автор: Platon 25.2.2007, 15:52
Сам не пойму, ну ведь это не страшно, если такой файлик вместо нужного.

Добавлено @ 15:53 
Пока все работает без проблем, и на обычной тачке тоже.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)