Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [QT] драйвер для MySQL(MinGW), не собирается даже с reimp->dlltool.. 
:(
    Опции темы
GRONN
Дата 29.6.2008, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 8.3.2007

Репутация: нет
Всего: нет



Друзья, уже неделю бьюсь над проблемой сборки плагина для MySQL 5.0 О том, что надо создавать библиотеку libmysql.a, прочитал довольно давно, с тех пор делаю следующее
Код

// c:\mysql\lib\opt
$> reimp -d libmysql.lib
$> dlltool -k --input-def libmysql.def --dllname libmysql.dll --output-lib libmysql.a

после чего в папке с mysql.pro делаю следующее
Код

qmake -o Makefile "INCLUDEPATH+=C:\mysql\include" "LIBS+=-LC:\mysql\lib\opt -lmysql" mysql.pro


О том, что эти действия спасают многих от несовместимости M$ и MinGW компилированных програм, читал чуть ли не на китайских сайтах. Но вот у меня почему-то все так же лезет около 70-ти ошибок "undefined reference"..

Вот листинг
Код

tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4c): undefined reference to `_mysql_character_set_name@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x184): undefined reference to `_mysql_error@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x19a): undefined reference to `_mysql_errno@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6d7): undefined reference to `_mysql_stmt_error@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6eb): undefined reference to `_mysql_stmt_errno@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0xa25): undefined reference to `_mysql_stmt_data_seek@12'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0xa39): undefined reference to `_mysql_stmt_fetch@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0xb13): undefined reference to `_mysql_data_seek@12'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0xb2a): undefined reference to `_mysql_fetch_row@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0xc8f): undefined reference to `_mysql_stmt_fetch@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0xcd7): undefined reference to `_mysql_fetch_row@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0xd3f): undefined reference to `_mysql_num_rows@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0xd7a): undefined reference to `_mysql_stmt_num_rows@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x1088): undefined reference to `_mysql_fetch_lengths@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x179c): undefined reference to `_mysql_stmt_num_rows@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x17b7): undefined reference to `_mysql_num_rows@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x17fe): undefined reference to `_mysql_insert_id@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x183d): undefined reference to `_mysql_stmt_insert_id@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x191e): undefined reference to `_mysql_errno@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x1936): undefined reference to `_mysql_field_seek@8'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x1944): undefined reference to `_mysql_fetch_field@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x19b4): undefined reference to `_mysql_field_seek@8'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x21f9): undefined reference to `_mysql_close@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2b8c): undefined reference to `_mysql_list_fields@12'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2bd5): undefined reference to `_mysql_fetch_field@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2c3c): undefined reference to `_mysql_free_result@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2db4): undefined reference to `_mysql_query@8'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2f74): undefined reference to `_mysql_query@8'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x3134): undefined reference to `_mysql_query@8'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x37b0): undefined reference to `_mysql_real_escape_string@16'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x41fc): undefined reference to `_mysql_init@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x431c): undefined reference to `_mysql_real_connect@32'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x43d9): undefined reference to `_mysql_select_db@8'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x443b): undefined reference to `_mysql_set_character_set@8'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4478): undefined reference to `_mysql_get_client_version@0'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4492): undefined reference to `_mysql_get_server_version@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4Creating library file: c:\Qt\4.3.4\plugins\sqldrivers\libqsqlmysql4.a
94c): undefined reference to `_mysql_close@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5170): undefined reference to `_mysql_list_tables@8'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x51a3): undefined reference to `_mysql_data_seek@12'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x51b1): undefined reference to `_mysql_fetch_row@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5235): undefined reference to `_mysql_free_result@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x539f): undefined reference to `_mysql_stmt_result_metadata@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x53ba): undefined reference to `_mysql_num_fields@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x54a4): undefined reference to `_mysql_fetch_field@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x56a3): undefined reference to `_mysql_next_result@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x56c1): undefined reference to `_mysql_store_result@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x56d0): undefined reference to `_mysql_free_result@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x56ea): undefined reference to `_mysql_next_result@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x58c2): undefined reference to `_mysql_free_result@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x58e6): undefined reference to `_mysql_stmt_close@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5bc0): undefined reference to `_mysql_stmt_prepare@12'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5ccd): undefined reference to `_mysql_stmt_init@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5d87): undefined reference to `_mysql_stmt_param_count@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5da8): undefined reference to `_mysql_stmt_param_count@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5fde): undefined reference to `_mysql_real_query@12'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6164): undefined reference to `_mysql_store_result@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x618a): undefined reference to `_mysql_field_count@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x61af): undefined reference to `_mysql_field_count@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x620d): undefined reference to `_mysql_affected_rows@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6277): undefined reference to `_mysql_fetch_field_direct@8'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6894): undefined reference to `_mysql_stmt_reset@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6c85): undefined reference to `_mysql_stmt_param_count@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6ca0): undefined reference to `_mysql_stmt_param_count@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6cd0): undefined reference to `_mysql_stmt_execute@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6de5): undefined reference to `_mysql_stmt_affected_rows@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6e2d): undefined reference to `_mysql_stmt_bind_result@8'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6e70): undefined reference to `_mysql_stmt_attr_set@12'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6e92): undefined reference to `_mysql_stmt_store_result@4'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6edd): undefined reference to `_mysql_stmt_bind_result@8'
tmp/obj/release_shared/qsql_mysql.o:qsql_mysql.cpp:(.text+0x7388): undefined reference to `_mysql_stmt_bind_param@8'
collect2: ld returned 1 exit status
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysql4.dll] Error 1
mingw32-make: *** [release] Error 2

(если он чем-то помог =) )

Уже неделю погугливаю насчет этого, и вот что меня насторожило: dlltools генерирует файлы одинакового размера как С ключом -k, так и БЕЗ него (112790). Может быть по какой-то причине он не убирает все эти @-собачки? Утилита взята мной из пакета MinGW, скачанного вместе с Code::Blocks. 

Еще слышал, что MinGW 5.1 обладает совместимостью, необходимой для сборки драйвера (и не требует .а файлов) - это правда? UPD - не пеняйте что сам не проверил, скачать еще долго не смогу, сижу на даче с мобильным =)

Спасибо!

Это сообщение отредактировал(а) GRONN - 29.6.2008, 16:09
PM MAIL   Вверх
GRONN
Дата 3.7.2008, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 8.3.2007

Репутация: нет
Всего: нет



Нет, никак не выходит, скачал 5.1, та же фигня, скачал dlltools 0.3 - не работает, хоть убей(( Лезут те же ошибки. Вопрос: возможно, стоит снести на фиг Висту (я еще не переставлял, с ноутбуком шла вместе)? Уже полторы недели не могу нормально взяться за работу из-за этого! Если не трудно, хоть натолкните на правильное направление!
PM MAIL   Вверх
aliks
Дата 15.5.2009, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 17.12.2008

Репутация: нет
Всего: 1



Проблему решили? У меня тоже самое...
--------------------
Любимая кнопка - F1, Любимое спасибо - Плюс в репутацию
PM MAIL Jabber   Вверх
ecspertiza
Дата 18.5.2009, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 763
Регистрация: 3.11.2008
Где: г.Смоленск

Репутация: 4
Всего: 5



Если твой ноут из последних серий то висту ты не снесёшь хоть убей, тоесть ты её снисёшь но XP не поставишь ибо с дравами будут проблемы, при установки не найдётся твой жёсткий и т.д. у меня такая же проблема.

но это так офф топ.

плагин у тебя несобирается потаму что ему явно нехватает ещё какойто библиотеки или та которую ты подключаешь не содержит в себе те функции  которые необходимо. Какие у тебя файлы в папке MySQL/lib ? и делал ли ты изночально при сборке самой QT

qmake -qt-sql-mysql -plugin-sql-mysql 

?




 


--------------------
С уважением,
мастер конфетного цеха!

онлайн компилер
залип
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets"
JackYF
Любитель
  • В заголовке темы в квадратных скобках обозначьте используемую вами библиотеку, например: [QT],[GTK],[wx].
  • Если вопрос актуален только для некоторой версии библиотеки, либо, если вы пользуетесь не самой последней версией, укажите это. Например: [QT4], [GTK2].
  • Все начинающие изучать Qt - не забудьте зайти сюда.
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • В вопросе укажите полную версию версию библиотеки, а также все дополнительные используемые программные пакеты.
  • Не забывайте пользоваться кнопкой "Код".
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема »


 




[ Время генерации скрипта: 0.0417 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.