crossplatform.ru

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

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
> MySQL, -static, ошибки при компиляции примеров
zerling
  опции профиля:
сообщение 10.2.2009, 14:28
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 31.10.2008
Из: г.Мытищи Московской обл.
Пользователь №: 406

Спасибо сказали: 0 раз(а)




Репутация:   0  


В общем qt 4.3.4, mingw, MySQL 4.1 (всё под windows)

Конфигурирую QT такой командой: "configure -static -release -qt-libpng -qt-libjpeg -qt-sql-mysql" и компилирую.
В QT в каталог include скопировал всё из каталога include MySQL
Заголовочные файлы находит, но на компиляции примеров ругается:

Раскрывающийся текст
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -Wl,-s -mthreads -Wl -Wl,-subsystem,windows -o release\cachedtable.exe tmp/ob
j/release_static/main.o tmp/obj/release_static/tableeditor.o tmp/obj/release_static/moc_tableeditor.o -L"c:\RAZRAB\QT434\lib" -L"c:\RAZRAB\QT434\lib" -lmingw32
-lqtmain -lQtSql -lQtGui -lmysql -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lkernel32 -luser32 -lshell32 -luuid -lole32 -ladvapi32 -lws2_32
c:\RAZRAB\QT434\lib/libQtSql.a(qsql_mysql.o):qsql_mysql.cpp:(.text+0x4c): undefined reference to `mysql_character_set_name@4'
c:\RAZRAB\QT434\lib/libQtSql.a(qsql_mysql.o):qsql_mysql.cpp:(.text+0x174): undefined reference to `mysql_error@4'
c:\RAZRAB\QT434\lib/libQtSql.a(qsql_mysql.o):qsql_mysql.cpp:(.text+0x18a): undefined reference to `mysql_errno@4'
c:\RAZRAB\QT434\lib/libQtSql.a(qsql_mysql.o):qsql_mysql.cpp:(.text+0x697): undefined reference to `mysql_stmt_error@4'


при этом в \plugins\sqldrivers\ есть файл libqsqlmysql.a
Где брать недостающую библиотеку?

Сообщение отредактировал Litkevich Yuriy - 10.2.2009, 15:29
Причина редактирования: уточнил название темы
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 10.2.2009, 14:43
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Как я понимаю компилятор не знает где брать mysql'ные lib файлы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.2.2009, 15:07
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(zerling @ 10.2.2009, 17:28) *
при этом в \plugins\sqldrivers\ есть файл libqsqlmysql.a
это собственный драйвер Qt для MySQL, попробуй просто положить в каталог %QTDIR%\lib MySQL'ные библиотеки (*.lib или *.a)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zerling
  опции профиля:
сообщение 10.2.2009, 15:20
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 31.10.2008
Из: г.Мытищи Московской обл.
Пользователь №: 406

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 10.2.2009, 15:07) *
Цитата(zerling @ 10.2.2009, 17:28) *
при этом в \plugins\sqldrivers\ есть файл libqsqlmysql.a
это собственный драйвер Qt для MySQL, попробуй просто положить в каталог %QTDIR%\lib MySQL'ные библиотеки (*.lib или *.a)


Попробовал.. скопировал всё из MySQL41\lib\opt всё в %QTDIR%\lib результат тот же самый..
У меня в %QTDIR%\lib были только файлы *.prl и *.а и думаю, что для статики MySQL`ная либа тоже долна быть *.a, но такого файла не увидел в MySQL. (MySQL качал в бинариках, либы там есть, но они *.lib и *.dll)...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.2.2009, 15:27
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(zerling @ 10.2.2009, 18:20) *
и думаю, что для статики MySQL`ная либа тоже долна быть *.a, но такого файла не увидел в MySQL.
у меня для FireBird'а MinGw проглатил *.lib без запинки, так что надо попробовать.

Еще есть такой способ, без копирования, указать пути:
Цитата
configure -static -qt-sql-mysql -Ic:\path\to\MySQL\include -Lc:\path\to\MySQL\lib -llibmysql


ключи (выделеные жирным) не отрывай от их значения
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Константин
  опции профиля:
сообщение 10.2.2009, 15:33
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 69
Регистрация: 9.2.2009
Пользователь №: 539

Спасибо сказали: 15 раз(а)




Репутация:   1  


http://dev.mysql.com/get/Downloads/MySQL-4...h/mirror/mysql/
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.2.2009, 15:34
Сообщение #7


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Константин, а пояснить?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Константин
  опции профиля:
сообщение 10.2.2009, 15:43
Сообщение #8


Студент
*

Группа: Участник
Сообщений: 69
Регистрация: 9.2.2009
Пользователь №: 539

Спасибо сказали: 15 раз(а)




Репутация:   1  


вероятно, зерлинг скачал пакет "виндовз эссеншиалз", в котором только дллки. для статической сборки нужен полный пакет - выше привёл ссылку на него.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
zerling
  опции профиля:
сообщение 10.2.2009, 15:43
Сообщение #9


Студент
*

Группа: Участник
Сообщений: 19
Регистрация: 31.10.2008
Из: г.Мытищи Московской обл.
Пользователь №: 406

Спасибо сказали: 0 раз(а)




Репутация:   0  


В общем копирование либов из мускуля не помогает, по ссылке ходить с работы не могу - тут ОЧЕНЬ медленный интернет...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.2.2009, 15:54
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Константин, Есть связанный с темой вопрос:
Я собирал плагин для FireBird, всюду есть такой субпроцесс:
Цитата
reimp -d fbclient_ms.lib
dlltool -k --input-def fbclient.def --dllname fbclient.dll --output-lib

однако при компиляции плагина возникает ошибка.
Я решил на прямую:
Цитата
ren fbclient_ms.lib fbclient.lib
qmake -o Makefile "INCLUDEPATH+=F:\Firebird\Firebird_2_0\include" "LIBS+=F:\Firebird\Firebird_2_0\lib\fbclient.lib" ibase.pro
т.е. прямо *.lib файл скормил MinGW, как он его съел?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 18:11