![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| JavaCraft |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 8.2.2007 Репутация: нет Всего: 1 |
Народ, кому удалось собрать QT + MYSQL, поделитесь секретом.
сначала попробовал так configure.exe ... -shared ... -I "C:/pgsql/include" -L "C:/pgsql/lib" -l "pq" -plugin-sql-psql -I "C:/mysql/include" -L "C:/mysql/lib/opt" -l "mysql" -plugin-sql-mysql Долго собиралась затем выдала кучу ошибок, типа такой tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x738a): undefined reference to `mysql_stmt_bind_param@8' При этом, плагин для PostgreSQl собирается нормально. Попробовал определения def из дистрибутива подсунуть configure.exe ... -shared ... -I "C:/pgsql/include" -L "C:/pgsql/lib" -l "pq" -plugin-sql-psql -D "C:/mysql/include/libmysql.def" -I "C:/mysql/include" -L "C:/mysql/lib/opt" -l "mysql" -plugin-sql-mysql вообще на этапе moc свалился с кучей ошибок, типа такой In file included from ../../../include/QtCore/qlocale.h:1, from ..\..\corelib\kernel\qmetatype.cpp:30: ../../../include/QtCore/../../src/corelib/tools/qlocale.h:22:1: unterminated #if ndef mingw32-make[2]: *** [release\qmetatype.o] Error 1 mingw32-make[2]: Leaving directory `C:/dev/lib/Qt/4.3.1/src/tools/moc' mingw32-make[1]: *** [release] Error 2 mingw32-make[1]: Leaving directory `C:/dev/lib/Qt/4.3.1/src/tools/moc' mingw32-make: *** [sub-moc-make_default-ordered] Error 2 Тогда я конвертнул libmysql.lib в libmysql.a вот по эти рекомендациям http://www.mechta34.com/it/qt4/qtdb000.html Создал libmysql.def - файл, который имеет совсем иную структуру нежели def в дистрибутиве mysql cd c:\mysql\lib\opt reimp -d libmysql.lib и выполнил команду dlltool -d libmysql.def -l libmysql.a libmysql.dll -k libmysql.a - получился подозрительно маленький - около килобайта. Затем повторил самый первый вариант(без опции -D), в надежде, что теперь он подхватит новую библиотеку, но получил ту-же ошибку. Что делать? |
|||
|
||||
| JavaCraft |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 8.2.2007 Репутация: нет Всего: 1 |
Получилось...
Судя по всему, теперь самый новый mingw32 (5.1.3) совместим c lib и dll библиотеками MySQL(которые раньше были несовместимы), не требует преобразования при помощи reimp и dlltool, и работает не по шаблону lib*.a Вместо, как бы правильной, но не работающей версии qmake -o Makefile "INCLUDEPATH+=C:/webserver/mysql60/include" "LIBS+=-LC:/webserver/mysql60/lib/opt -lmysql" mysql.pro Я использовал такую команду qmake -o Makefile "INCLUDEPATH+=C:/webserver/mysql60/include" "LIBS+=C:/webserver/mysql60/lib/opt/libmysql.lib" mysql.pro mingw32-make листинг c:/dev/util/MinGW/bin/mingw32-make -f Makefile.Release mingw32-make[1]: Entering directory `c:/dev/lib/qt/4.3.1/src/plugins/sqldrivers/mysql' g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -shared -Wl,--out-implib,c:/dev/lib/qt/4.3.1/plugins/sqldrivers/libqsqlmysql4.a -o "../../../../plugins/sqldrivers/qsqlmysql4.dll" tmp/obj/release_shared/main.o tmp/obj/release_shared/qsql_mysql.o tmp/obj/release_shared/moc_qsql_mysql.o -L'c:/dev/lib/qt/4.3.1/lib' -L'c:/dev/lib/qt/4.3.1/lib' tmp/obj/release_shared/qsqlmysql_resource_res.o -LC:/webserver/pgsql/lib -lpq -LC:/webserver/mysql60/lib/opt -lmysql C:/webserver/mysql60/lib/opt/libmysql.lib -lQtSql4 -lQtCore4 Creating library file: c:/dev/lib/qt/4.3.1/plugins/sqldrivers/libqsqlmysql4.a mingw32-make[1]: Leaving directory `c:/dev/lib/qt/4.3.1/src/plugins/sqldrivers/mysql' сгенерировались libqsqlmysql4.a (2182) qsqlmysql4.dll (76800) для MySQL 6.0 Это сообщение отредактировал(а) JavaCraft - 6.9.2007, 16:19 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |