crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в проблема с компиляцией mysql plugin
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Litkevich Yuriy Дата 11.2.2008, 16:35
  к стати подобная проблема обсуждалась здесь, пора FAQ писать по MySQL vs Qt, или отдельный подфорум :)
bop Дата 11.2.2008, 14:40
  огромное спасибо за помощь.

разобрался. может конечно не совсем разобрался но теперь скомпилировал плугин после изучения буржуйских форумов.

как понимаю не у меня одного такая проблема встает. это может изза версии мускула или изза версии КТ.

кратко опишу как решил эту проблему:

сначала нужно добыть утилиту 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

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

надеюсь кому-нибудь еще поможет это решение проблемы :)
ViGOur Дата 11.2.2008, 14:14
  судя из описания подобной проблемы у буржуев ты используешь не ту версию mySQL. Qt плагин хочет использовать какую-то другую.
Это если все правильно с INCLUDE и LIB папками.

Как вариант может ты подставляешь релизную версию mySQL для дебажного Qt и наоборот.
bop Дата 11.2.2008, 13:38
 
Цитата(ViGOur @ 11.2.2008, 13:07) *
make по всей видимости не видит хидеры и либы посмотри в эту сторону, можешь скомпилить простейшее helloworld приложение?


да могу, компилирует не только хеловорд но и достаточно большие проекты, а скомпилировать плюгин не получется
ViGOur Дата 11.2.2008, 13:07
  make по всей видимости не видит хидеры и либы посмотри в эту сторону, можешь скомпилить простейшее helloworld приложение?
bop Дата 11.2.2008, 12:36
 
Цитата(ViGOur @ 11.2.2008, 11:55) *
Попробуй добавить в переменную среду INCLUDE путь к mysql хидерам D:\Programs\mysql51\include


добавил, но ничегоне изменилось
ViGOur Дата 11.2.2008, 11:55
  Попробуй добавить в переменную среду INCLUDE путь к mysql хидерам D:\Programs\mysql51\include
bop Дата 11.2.2008, 11:46
  здравствуйте, помогите чайнику
обратил внимание что по умолчанию 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
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 12:12