проблема с компиляцией mysql plugin, не получается скомпилировать модуль поддержки mysql |
Здравствуйте, гость ( Вход | Регистрация )
проблема с компиляцией mysql plugin, не получается скомпилировать модуль поддержки mysql |
bop |
11.2.2008, 11:46
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 11.2.2008 Пользователь №: 90 Спасибо сказали: 0 раз(а) Репутация: 0 |
здравствуйте, помогите чайнику
обратил внимание что по умолчанию Qt не может загрузить драйвем mysql, как оказалось надо скомпилировать плюгин пытаюсь скомпилировать плюгин cd C:\qt\4.3.3\src\plugins\sqldrivers\mysql qmake -o Makefile "INCLUDEPATH+=D:\Programs\mysql51\include" "LIBS+=D:\Programs\mysql51\lib\opt\libmysql.lib" mysql.pro make вот что получается: CODE Setting up a MinGW/Qt only environment... -- QTDIR set to C:\Qt\4.3.3 -- PATH set to C:\Qt\4.3.3\bin -- Adding C:\MinGW\bin to PATH -- Adding C:\WINDOWS\System32 to PATH -- QMAKESPEC set to win32-g++ C:\Qt\4.3.3>cd src\plugins\sqldrivers\mysql C:\Qt\4.3.3\src\plugins\sqldrivers\mysql>qmake -o Makefile "INCLUDEPATH+=D:\Prog rams\mysql51\include" "LIBS+=D:\Programs\mysql51\lib\opt\libmysql.lib" mysql.pro C:\Qt\4.3.3\src\plugins\sqldrivers\mysql>make mingw32-make -f Makefile.Release mingw32-make[1]: Entering directory `C:/Qt/4.3.3/src/plugins/sqldrivers/mysql' g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel oc -Wl,-s -mthreads -Wl -shared -Wl,--out-implib,c:\Qt\4.3.3\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_qs ql_mysql.o -L"c:\Qt\4.3.3\lib" -L"c:\Qt\4.3.3\lib" tmp\obj\release_shared\qsqlm ysql_resource_res.o D:\Programs\mysql51\lib\opt\libmysql.lib -lQtSql4 -lQtCore4 Creating library file: c:\Qt\4.3.3\plugins\sqldrivers\libqsqlmysql4.a tmp/obj/release_shared/qsql_mysql.o(.text+0x4c):qsql_mysql.cpp: undefined refere nce to `mysql_character_set_name@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x184):qsql_mysql.cpp: undefined refer ence to `mysql_error@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x19a):qsql_mysql.cpp: undefined refer ence to `mysql_errno@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x6d7):qsql_mysql.cpp: undefined refer ence to `mysql_stmt_error@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x6eb):qsql_mysql.cpp: undefined refer ence to `mysql_stmt_errno@4' tmp/obj/release_shared/qsql_mysql.o(.text+0xa25):qsql_mysql.cpp: undefined refer ence to `mysql_stmt_data_seek@12' tmp/obj/release_shared/qsql_mysql.o(.text+0xa39):qsql_mysql.cpp: undefined refer ence to `mysql_stmt_fetch@4' tmp/obj/release_shared/qsql_mysql.o(.text+0xb13):qsql_mysql.cpp: undefined refer ence to `mysql_data_seek@12' tmp/obj/release_shared/qsql_mysql.o(.text+0xb2a):qsql_mysql.cpp: undefined refer ence to `mysql_fetch_row@4' tmp/obj/release_shared/qsql_mysql.o(.text+0xc8f):qsql_mysql.cpp: undefined refer ence to `mysql_stmt_fetch@4' tmp/obj/release_shared/qsql_mysql.o(.text+0xcd7):qsql_mysql.cpp: undefined refer ence to `mysql_fetch_row@4' tmp/obj/release_shared/qsql_mysql.o(.text+0xd3f):qsql_mysql.cpp: undefined refer ence to `mysql_num_rows@4' tmp/obj/release_shared/qsql_mysql.o(.text+0xd7a):qsql_mysql.cpp: undefined refer ence to `mysql_stmt_num_rows@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x1088):qsql_mysql.cpp: undefined refe rence to `mysql_fetch_lengths@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x179c):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_num_rows@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x17b7):qsql_mysql.cpp: undefined refe rence to `mysql_num_rows@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x17fe):qsql_mysql.cpp: undefined refe rence to `mysql_insert_id@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x183d):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_insert_id@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x191e):qsql_mysql.cpp: undefined refe rence to `mysql_errno@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x1936):qsql_mysql.cpp: undefined refe rence to `mysql_field_seek@8' tmp/obj/release_shared/qsql_mysql.o(.text+0x1944):qsql_mysql.cpp: undefined refe rence to `mysql_fetch_field@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x19b4):qsql_mysql.cpp: undefined refe rence to `mysql_field_seek@8' tmp/obj/release_shared/qsql_mysql.o(.text+0x21f9):qsql_mysql.cpp: undefined refe rence to `mysql_close@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x2b8c):qsql_mysql.cpp: undefined refe rence to `mysql_list_fields@12' tmp/obj/release_shared/qsql_mysql.o(.text+0x2bd5):qsql_mysql.cpp: undefined refe rence to `mysql_fetch_field@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x2c3c):qsql_mysql.cpp: undefined refe rence to `mysql_free_result@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x2db4):qsql_mysql.cpp: undefined refe rence to `mysql_query@8' tmp/obj/release_shared/qsql_mysql.o(.text+0x2f74):qsql_mysql.cpp: undefined refe rence to `mysql_query@8' tmp/obj/release_shared/qsql_mysql.o(.text+0x3134):qsql_mysql.cpp: undefined refe rence to `mysql_query@8' tmp/obj/release_shared/qsql_mysql.o(.text+0x37b0):qsql_mysql.cpp: undefined refe rence to `mysql_real_escape_string@16' tmp/obj/release_shared/qsql_mysql.o(.text+0x41fc):qsql_mysql.cpp: undefined refe rence to `mysql_init@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x431c):qsql_mysql.cpp: undefined refe rence to `mysql_real_connect@32' tmp/obj/release_shared/qsql_mysql.o(.text+0x43d9):qsql_mysql.cpp: undefined refe rence to `mysql_select_db@8' tmp/obj/release_shared/qsql_mysql.o(.text+0x443b):qsql_mysql.cpp: undefined refe rence to `mysql_set_character_set@8' tmp/obj/release_shared/qsql_mysql.o(.text+0x4478):qsql_mysql.cpp: undefined refe rence to `mysql_get_client_version@0' tmp/obj/release_shared/qsql_mysql.o(.text+0x4492):qsql_mysql.cpp: undefined refe rence to `mysql_get_server_version@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x494c):qsql_mysql.cpp: undefined refe rence to `mysql_close@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x5170):qsql_mysql.cpp: undefined refe rence to `mysql_list_tables@8' tmp/obj/release_shared/qsql_mysql.o(.text+0x51a3):qsql_mysql.cpp: undefined refe rence to `mysql_data_seek@12' tmp/obj/release_shared/qsql_mysql.o(.text+0x51b1):qsql_mysql.cpp: undefined refe rence to `mysql_fetch_row@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x5235):qsql_mysql.cpp: undefined refe rence to `mysql_free_result@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x53a6):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_result_metadata@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x53c1):qsql_mysql.cpp: undefined refe rence to `mysql_num_fields@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x5496):qsql_mysql.cpp: undefined refe rence to `mysql_fetch_field@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x5693):qsql_mysql.cpp: undefined refe rence to `mysql_next_result@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x56b1):qsql_mysql.cpp: undefined refe rence to `mysql_store_result@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x56c0):qsql_mysql.cpp: undefined refe rence to `mysql_free_result@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x56da):qsql_mysql.cpp: undefined refe rence to `mysql_next_result@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x58b2):qsql_mysql.cpp: undefined refe rence to `mysql_free_result@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x58d6):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_close@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x5bb0):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_prepare@12' tmp/obj/release_shared/qsql_mysql.o(.text+0x5cbd):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_init@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x5d77):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_param_count@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x5d98):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_param_count@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x5fbe):qsql_mysql.cpp: undefined refe rence to `mysql_real_query@12' tmp/obj/release_shared/qsql_mysql.o(.text+0x6144):qsql_mysql.cpp: undefined refe rence to `mysql_store_result@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x616a):qsql_mysql.cpp: undefined refe rence to `mysql_field_count@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x618f):qsql_mysql.cpp: undefined refe rence to `mysql_field_count@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x61ed):qsql_mysql.cpp: undefined refe rence to `mysql_affected_rows@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x6257):qsql_mysql.cpp: undefined refe rence to `mysql_fetch_field_direct@8' tmp/obj/release_shared/qsql_mysql.o(.text+0x6874):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_reset@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x6c65):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_param_count@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x6c80):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_param_count@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x6cb0):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_execute@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x6dc5):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_affected_rows@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x6e0d):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_bind_result@8' tmp/obj/release_shared/qsql_mysql.o(.text+0x6e50):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_attr_set@12' tmp/obj/release_shared/qsql_mysql.o(.text+0x6e72):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_store_result@4' tmp/obj/release_shared/qsql_mysql.o(.text+0x6ebd):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_bind_result@8' tmp/obj/release_shared/qsql_mysql.o(.text+0x735c):qsql_mysql.cpp: undefined refe rence to `mysql_stmt_bind_param@8' collect2: ld returned 1 exit status mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysql4.dll] Error 1 mingw32-make[1]: Leaving directory `C:/Qt/4.3.3/src/plugins/sqldrivers/mysql' mingw32-make: *** [release] Error 2 |
|
|
ViGOur |
11.2.2008, 11:55
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Попробуй добавить в переменную среду INCLUDE путь к mysql хидерам D:\Programs\mysql51\include
|
|
|
bop |
11.2.2008, 12:36
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 11.2.2008 Пользователь №: 90 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
ViGOur |
11.2.2008, 13:07
Сообщение
#4
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
make по всей видимости не видит хидеры и либы посмотри в эту сторону, можешь скомпилить простейшее helloworld приложение?
|
|
|
bop |
11.2.2008, 13:38
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 11.2.2008 Пользователь №: 90 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
ViGOur |
11.2.2008, 14:14
Сообщение
#6
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
судя из описания подобной проблемы у буржуев ты используешь не ту версию mySQL. Qt плагин хочет использовать какую-то другую.
Это если все правильно с INCLUDE и LIB папками. Как вариант может ты подставляешь релизную версию mySQL для дебажного Qt и наоборот. |
|
|
bop |
11.2.2008, 14:40
Сообщение
#7
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 11.2.2008 Пользователь №: 90 Спасибо сказали: 0 раз(а) Репутация: 0 |
огромное спасибо за помощь.
разобрался. может конечно не совсем разобрался но теперь скомпилировал плугин после изучения буржуйских форумов. как понимаю не у меня одного такая проблема встает. это может изза версии мускула или изза версии КТ. кратко опишу как решил эту проблему: сначала нужно добыть утилиту reimp ее можно взять здесь для винды http://garr.dl.sourceforge.net/sourceforge...tils-0.3.tar.gz потом применяем эту утилиту например: cd c:\mysql\lib\opt reimp -d libmysql.lib dlltool -k --input-def libmysql.def --dllname libmysql.dll --output-lib libmysql.a dlltool есть в MinGW поумолчанию потом компилируем: cd c:\qt\src\plugins\sqldrivers\mysql qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=-LC:\MYSQL\LIB\OPT -lmysql" mysql.pro make после этого у меня сразу же скомпилировался плугин. и приложение которое я пишу теперь спокойно подключается к базе данных и работает. до этого приложение не могло загрузить драйвер надеюсь кому-нибудь еще поможет это решение проблемы |
|
|
Litkevich Yuriy |
11.2.2008, 16:35
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
к стати подобная проблема обсуждалась здесь, пора FAQ писать по MySQL vs Qt, или отдельный подфорум
|
|
|
Текстовая версия | Сейчас: 2.12.2024, 2:11 |