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

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

Страниц: 1 2 3 [4]   Вниз
  Печать  
Автор Тема: mysql  (Прочитано 28750 раз)
_govorilka
Гость
« Ответ #45 : Август 07, 2006, 04:38 »

Цитата: "QCasper"

хочешь сказать ему плагин не нужен?
и вообще, честно говоря, это конечно не решение...


Файлы qsql_mysql.h, qsql_mysql.cpp - это и есть плагин для MySQL. Я просто удалил некоторые из него директивы, затем подключил через #include и все. С динамическим подключением плагина у меня тоже были проблемы.
Записан
Alexei
Гость
« Ответ #46 : Август 07, 2006, 08:07 »

Господа, столкнувшись примерно с таким же гемороем, решил собрать Qt статически.

configure.exe -debug-and-release -static -plugin-sql-mysql -qt-zlib -no-gif -qt-libpng -no-libmng -qt-libjpeg -no-qt3support

Предварительно, сделал маленькие изменения в файле mkspec\win32-msvc2005\qmake.conf:
у QMAKE_CFLAGS_RELEASE поставил -MT вместо, если не ошибаюсь, -MD
у QMAKE_CFLAGS_DEBUG поставил соответственно -MTd

К проекатм стал подключать плагины статически с помощью
Q_IMPORT_PLUGIN(QMYSQLDriverPlugin)

Более того, при линковке использую статическую библиотеку MySql mysqlclient.lib.
Фрагмент файла *.pro:

CONFIG(debug, debug|release) {
  RCC_DIR = tmp/debug/rcc
  UI_DIR = tmp/debug/ui
  MOC_DIR = tmp/debug/moc
  OBJECTS_DIR = tmp/debug/obj
  DESTDIR = tmp/debug
  win32 {
    LIBS += $(QTDIR)\plugins\sqldrivers\qsqlmysqld.lib c:\projects\mysql\lib\debug\mysqlclient.lib
  }
}

CONFIG(release, debug|release) {
  RCC_DIR = tmp/release/rcc
  UI_DIR = tmp/release/ui
  MOC_DIR = tmp/release/moc
  OBJECTS_DIR = tmp/release/obj
  DESTDIR = tmp/release
  win32 {
    LIBS += $(QTDIR)\plugins\sqldrivers\qsqlmysql.lib c:\projects\mysql\lib\opt\mysqlclient.lib
  }
}

При компиляции в release exe-шник получается размером примерно 8Mb. При упаковке pec2 (http://www.bitsum.com/pec2.asp) размер сокращается до 2Mb. Кстати, в release я выставляю Postbuild Event команду:
pec2 $(TargetDir)/$(TargetFileName) /Q /Nb
чтобы при сборке автоматически делалась компрессия exe-шника.
Если убрать из линковки манифест, то полученный exe-файл не требует вообще никаких дополнительных файлов.
Для меня это очень удобно, может, и вам понравится.
Записан
Nikol
Гость
« Ответ #47 : Август 07, 2006, 10:49 »

Цитата: "QCasper"


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


о чем я и говорю, гдето есть библиотека где пути прописаны прямые и не туда куда ты хочеш. Я бы проверил что написано в переменной PATH и что лежит по этим путям

ав QtSql4.dll есть

QSqlDatabase(driver=".".", database=".", host=".", port=., user=".", open=.true.false.)./sqldrivers
Записан
QCasper
Гость
« Ответ #48 : Август 07, 2006, 15:01 »

Цитата: "Nikol"
Цитата: "QCasper"


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


о чем я и говорю, гдето есть библиотека где пути прописаны прямые и не туда куда ты хочеш. Я бы проверил что написано в переменной PATH и что лежит по этим путям

ав QtSql4.dll есть

QSqlDatabase(driver=".".", database=".", host=".", port=., user=".", open=.true.false.)./sqldrivers


где-то есть какая билиотека?
Я проверял патч, у меня там путь к Qt/bin, mysql/bin, mingw/bin.
Записан
Страниц: 1 2 3 [4]   Вверх
  Печать  
 
Перейти в:  


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