Qt и MySQL |
Здравствуйте, гость ( Вход | Регистрация )
Qt и MySQL |
AD |
21.7.2009, 10:18
Сообщение
#71
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
berserk |
21.7.2009, 10:23
Сообщение
#72
|
Студент Группа: Участник Сообщений: 44 Регистрация: 9.2.2009 Пользователь №: 540 Спасибо сказали: 0 раз(а) Репутация: 0 |
ошибка есть, драйвер не загружен А у Вас dll и Ваше приложение одним компилятором собраны? да. На моём рабочем компьютере где стоит QT, где собирается программа, где был собран драйвер БД всё прекрасно работает. А вот на другом компьютере который о QT ничего не знает не подключаются плагины. Основные библиотеки скопированные в папку с программой работают прекрасно. |
|
|
BRE |
21.7.2009, 11:04
Сообщение
#73
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
да. На моём рабочем компьютере где стоит QT, где собирается программа, где был собран драйвер БД всё прекрасно работает. А вот на другом компьютере который о QT ничего не знает не подключаются плагины. Основные библиотеки скопированные в папку с программой работают прекрасно. В папке с программой создай папку sqldrivers и туда скопируй драйвер. Подробности в assistent: How to Create Qt Plugins. |
|
|
Litkevich Yuriy |
21.7.2009, 11:13
Сообщение
#74
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
berserk, попробуй почистить кэш плагинов в реестре, на второй машине, может ты там уже эксперементировал и неудачно, Qt повторно незагружает плагины если они были одинажды забракованы.
|
|
|
berserk |
21.7.2009, 13:16
Сообщение
#75
|
Студент Группа: Участник Сообщений: 44 Регистрация: 9.2.2009 Пользователь №: 540 Спасибо сказали: 0 раз(а) Репутация: 0 |
berserk, попробуй почистить кэш плагинов в реестре, на второй машине, может ты там уже эксперементировал и неудачно, Qt повторно незагружает плагины если они были одинажды забракованы. как это сделать? на второй машине QT никогда не было... в общем методом научного тыка я выяснил, что не подключается именно драйвер собранный мной. Странно но на моей машине он работает. На других нет. Может я что-нибудь собрал не так? |
|
|
BRE |
21.7.2009, 13:51
Сообщение
#76
|
Профессионал Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: 44 |
|
|
|
berserk |
21.7.2009, 13:57
Сообщение
#77
|
Студент Группа: Участник Сообщений: 44 Регистрация: 9.2.2009 Пользователь №: 540 Спасибо сказали: 0 раз(а) Репутация: 0 |
в общем методом научного тыка я выяснил, что не подключается именно драйвер собранный мной. Странно но на моей машине он работает. На других нет. Может я что-нибудь собрал не так? А MySQL либы ты на target-машину перенес? ну я firebird использую... в общем криво косо - разобрался... Оказалось самый простой способ описал BRE, за что ему спасибо. Далее нужно было fbclient скопировать в директорию с программой. (ну мне это помогло) После этого практически везде заработало, кроме нескольких компов, где стоял firebird другой версии. |
|
|
Litkevich Yuriy |
21.7.2009, 15:31
Сообщение
#78
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
sidsukana |
5.2.2011, 23:02
Сообщение
#79
|
Участник Группа: Участник Сообщений: 158 Регистрация: 23.12.2010 Из: Челябинск Пользователь №: 2296 Спасибо сказали: 10 раз(а) Репутация: 2 |
Ребят, прочитал всю тему и гуглил, но так и не нашел решения.
В общем такая ситуация: Работал со студией, под нее собирал mysql все нормально было. Сейчас понадобилось работать с QtCreator и тут началось. В общем mingw есть, mysql есть собираю с таким конфигом configure -shared -release -qt-sql-mysql -I "C:\mysql\include" -L "C:\mysql\lib\opt" Присборке получаю такой лог Раскрывающийся текст Creating library file: c:\Qt\4.7.1mingw\lib\libQtSql4.a ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x473): undefined re ference to `mysql_thread_end@0' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x480): undefined re ference to `mysql_close@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x731): undefined re ference to `mysql_stmt_insert_id@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x769): undefined re ference to `mysql_insert_id@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x7c0): undefined re ference to `mysql_num_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x7df): undefined re ference to `mysql_stmt_num_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x886): undefined re ference to `mysql_num_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x8b3): undefined re ference to `mysql_stmt_num_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xa6b): undefined re ference to `mysql_num_fields@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xb6a): undefined re ference to `mysql_fetch_field@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xc0d): undefined re ference to `mysql_stmt_result_metadata@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xc97): undefined re ference to `mysql_character_set_name@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xf76): undefined re ference to `mysql_free_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xf92): undefined re ference to `mysql_next_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xfad): undefined re ference to `mysql_stmt_close@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0xfcf): undefined re ference to `mysql_free_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x111f): undefined r eference to `mysql_store_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1364): undefined r eference to `mysql_stmt_error@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x136f): undefined r eference to `mysql_stmt_errno@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1509): undefined r eference to `mysql_stmt_data_seek@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x151a): undefined r eference to `mysql_stmt_fetch@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x15b4): undefined r eference to `mysql_data_seek@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x15c5): undefined r eference to `mysql_fetch_row@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x178b): undefined r eference to `mysql_errno@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x17a0): undefined r eference to `mysql_field_seek@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x17ab): undefined r eference to `mysql_fetch_field@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x17e8): undefined r eference to `mysql_fetch_field@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x17fd): undefined r eference to `mysql_field_seek@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x185e): undefined r eference to `mysql_error@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x186b): undefined r eference to `mysql_errno@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1a83): undefined r eference to `mysql_list_fields@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1ace): undefined r eference to `mysql_fetch_field@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1adb): undefined r eference to `mysql_free_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1ca5): undefined r eference to `mysql_next_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1d4a): undefined r eference to `mysql_store_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1d61): undefined r eference to `mysql_field_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1db0): undefined r eference to `mysql_affected_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1dde): undefined r eference to `mysql_fetch_field_direct@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x1e6a): undefined r eference to `mysql_free_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x24ed): undefined r eference to `mysql_query@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x25ed): undefined r eference to `mysql_query@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x26ed): undefined r eference to `mysql_query@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2be0): undefined r eference to `mysql_init@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2d6a): undefined r eference to `mysql_real_connect@32' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2de9): undefined r eference to `mysql_set_character_set@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2e01): undefined r eference to `mysql_get_client_version@0' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2e12): undefined r eference to `mysql_thread_init@0' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2e81): undefined r eference to `mysql_get_server_version@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2eb3): undefined r eference to `mysql_options@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x2f7d): undefined r eference to `mysql_close@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x30b5): undefined r eference to `mysql_select_db@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x31e0): undefined r eference to `mysql_close@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x359e): undefined r eference to `mysql_real_query@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x35bc): undefined r eference to `mysql_store_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x35de): undefined r eference to `mysql_field_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x361f): undefined r eference to `mysql_affected_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x364a): undefined r eference to `mysql_fetch_field_direct@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x378b): undefined r eference to `mysql_field_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x38cb): undefined r eference to `mysql_stmt_prepare@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x38e4): undefined r eference to `mysql_stmt_param_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x38f7): undefined r eference to `mysql_stmt_param_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x3a0a): undefined r eference to `mysql_stmt_init@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x3cc6): undefined r eference to `mysql_real_escape_string@16' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x3fc3): undefined r eference to `mysql_fetch_lengths@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4892): undefined r eference to `mysql_stmt_reset@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x49a5): undefined r eference to `mysql_stmt_param_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x49bf): undefined r eference to `mysql_stmt_execute@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4a1d): undefined r eference to `mysql_stmt_affected_rows@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4a50): undefined r eference to `mysql_stmt_bind_result@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4a81): undefined r eference to `mysql_stmt_attr_set@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4a95): undefined r eference to `mysql_stmt_store_result@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4aca): undefined r eference to `mysql_stmt_bind_result@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x4bde): undefined r eference to `mysql_stmt_param_count@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x5198): undefined r eference to `mysql_stmt_bind_param@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x5457): undefined r eference to `mysql_fetch_row@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x5497): undefined r eference to `mysql_stmt_fetch@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x557d): undefined r eference to `mysql_get_server_version@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x574b): undefined r eference to `mysql_list_tables@8' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x5771): undefined r eference to `mysql_data_seek@12' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x577c): undefined r eference to `mysql_fetch_row@4' ./tmp\obj\release_shared\qsql_mysql.o:qsql_mysql.cpp:(.text+0x57e8): undefined r eference to `mysql_free_result@4' collect2: ld returned 1 exit status mingw32-make[2]: *** [..\..\lib\QtSql4.dll] Error 1 mingw32-make[2]: Leaving directory `C:/Qt/4.7.1mingw/src/sql' mingw32-make[1]: *** [release] Error 2 mingw32-make[1]: Leaving directory `C:/Qt/4.7.1mingw/src/sql' mingw32-make: *** [sub-sql-make_default-ordered] Error 2 В C:\mysql\lib\opt присутствуют файлы libmysql.lib, libmysql.def, libmysql.a. Важно то, что мне надо собрать mysql встроенный в Qt, а не как плагин. |
|
|
Litkevich Yuriy |
6.2.2011, 7:53
Сообщение
#80
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 28.12.2024, 9:48 |