Russian Qt Forum
Ноябрь 22, 2024, 14:06
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Установка, сборка, отладка, тестирование
>
Ошибка при компиляции плагина mysql
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Ошибка при компиляции плагина mysql (Прочитано 16261 раз)
DenKor
Гость
Ошибка при компиляции плагина mysql
«
:
Август 18, 2005, 13:04 »
У меня не получается собрать плагин для mysql под minigw32.
Привожу текст для версии 3.4.4
============================================
mingw32-make.exe[1]: Leaving directory `D:/Qt/3.3.4/plugins/src'
c:\dev-cpp\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lmysql.lib
collect2: ld returned 1 exit status
mingw32-make.exe[3]: *** [..\..\..\sqldrivers\qsqlmysql.dll] Error 1
mingw32-make.exe[2]: *** [sub-mysql] Error 2
mingw32-make.exe[1]: *** [sub-sqldrivers] Error 2
mingw32-make.exe: *** [sub-plugins] Error 2
The build process failed!
=============================================
Заголовочные файлы скопировал в папку D:/Qt/3.3.4/include
Библиотеку libmysql.lib в папку D:/Qt/3.3.4/lib.
Обозвал ее как mysql.lib (там еще остался libmysql.lib)
Не помогает :evil:
Версия MySQL - 4.1.13a-win32 (noinstall)
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
Ошибка при компиляции плагина mysql
«
Ответ #1 :
Август 18, 2005, 13:07 »
1. обзывать не надо
-lmysql.lib означает что ищет libmysql.lib
2. есть ключик у gcc -Lпуть к твоей либе
посставь его правильно
Записан
jindos
Гость
Ошибка при компиляции плагина mysql
«
Ответ #2 :
Август 18, 2005, 13:15 »
А по моему не нужно расширение указывать: т.е. не -lmysql.lib , а -
-lmysql
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
Ошибка при компиляции плагина mysql
«
Ответ #3 :
Август 18, 2005, 13:49 »
точно
Записан
DenKor
Гость
Ошибка при компиляции плагина mysql
«
Ответ #4 :
Август 18, 2005, 18:49 »
Покапавшись на форуме qtforum.org нашел следующее рабочее решение для MiniGW32 редакции Open Source.
Библиотека libmysql.lib, которая идет в комплекте с дистрибутивом MySQL подходит только для версии VC2003.
Для MiniGW нужно делать свою библиотеку:
1. Выполняем команду
dlltool --input-def libmySQL.def --dllname libmySQL.dll --output-lib mysql.a -k
2. При сборке появяться сообщение о ненайденных прототипах вида
mysql_close@4
Правим libmySQL.def подставляя вместо mysql_close нужное mysql_close@4.
Выполняем данные действия для всех подобных прототипов, пока не будут выдаваться сообщения об ошибках линковки
3.Получаем правильную библиотеку mysql.a
4.Для редакции Open Source мне пришлось дополнительно править makefile, чтобы при сборке правильно находилась библиотека
Вместо параметра -lmysql.lib я поставил полный путь к mysql.a
LIBS = -L"F:\Qt\4.0.0\lib" -L"F:\Qt\4.0.0\lib" F:\Qt\4.0.0\lib\mysql.a -lQtCored4 -lQtSqld4
Записан
Vadim
Гость
Ошибка при компиляции плагина mysql
«
Ответ #5 :
Сентябрь 01, 2005, 14:25 »
Цитата: "DenKor"
Покапавшись на форуме qtforum.org нашел следующее рабочее решение для MiniGW32 редакции Open Source.
Библиотека libmysql.lib, которая идет в комплекте с дистрибутивом MySQL подходит только для версии VC2003.
Для MiniGW нужно делать свою библиотеку:
1. Выполняем команду
dlltool --input-def libmySQL.def --dllname libmySQL.dll --output-lib mysql.a -k
2. При сборке появяться сообщение о ненайденных прототипах вида
mysql_close@4
Правим libmySQL.def подставляя вместо mysql_close нужное mysql_close@4.
Выполняем данные действия для всех подобных прототипов, пока не будут выдаваться сообщения об ошибках линковки
3.Получаем правильную библиотеку mysql.a
4.Для редакции Open Source мне пришлось дополнительно править makefile, чтобы при сборке правильно находилась библиотека
Вместо параметра -lmysql.lib я поставил полный путь к mysql.a
LIBS = -L"F:\Qt\4.0.0\lib" -L"F:\Qt\4.0.0\lib" F:\Qt\4.0.0\lib\mysql.a -lQtCored4 -lQtSqld4
Правильно наверное надо выполнить команду:
reimp libmysql.lib
В итоге получаем уже правильный(c поправлеными именами функций) libmysql.a
Обходимся и без правки makefile указывая в опциях configure
-sql-plugin-mysql -I <path-mysql>\include -L <path-mysql>\lib\libmysql.a
При таких опциях библиотека собирается и плагин mysql в том числе.
Но проекты упорно не хотят видеть плагин mysql. Когда компилил Qt под VC6 то в папке с исполняемым файлом создавал папочку sqldrivers и ложил туда плагины mysql - все работало. Но под mingw это не проходит. Кто-то поборол эту проблему?
Записан
crocus
Гость
Ошибка при компиляции плагина mysql
«
Ответ #6 :
Октябрь 05, 2005, 05:11 »
Так чем вопрос решили
Записан
DenKor
Гость
Ошибка при компиляции плагина mysql
«
Ответ #7 :
Октябрь 27, 2005, 14:41 »
Цитата: "Vadim"
При таких опциях библиотека собирается и плагин mysql в том числе.
Но проекты упорно не хотят видеть плагин mysql. Когда компилил Qt под VC6 то в папке с исполняемым файлом создавал папочку sqldrivers и ложил туда плагины mysql - все работало. Но под mingw это не проходит. Кто-то поборол эту проблему?
Я падчил распространяюмую библиотеку на предмет поиска всех путей
на путь в текущем каталоге.
Там в тектсе была зашита константа кажись sqldrivers c путем на установленную библиотеку. Заменил ее на "./"
Работает
Записан
BNN
Гость
Ошибка при компиляции плагина mysql
«
Ответ #8 :
Ноябрь 03, 2005, 09:12 »
пробую собрать плагин MySql для qt4.0.1.
выдается следующая ошибка:
C:\MinGW\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lmysql.lib
collect2: ld returned 1 exit status
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlmysql.dll] Error 1
mingw32-make[1]: Leaving directory `C:/Qt/4.0.1/src/plugins/sqldrivers/mysql'
mingw32-make: *** [release] Error 2
Файл libmysql.lib в папке c:\qt\4.0.1\lib есть.
также там находятся lmysql.lib (копия libmysql.lib), libmysql.a.
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
Ошибка при компиляции плагина mysql
«
Ответ #9 :
Ноябрь 03, 2005, 10:25 »
попробую добавить
-Lc:\qt\4.0.1\lib
Записан
BNN
Гость
Ошибка при компиляции плагина mysql
«
Ответ #10 :
Ноябрь 03, 2005, 10:58 »
Цитата: "Admin"
попробую добавить
-Lc:\qt\4.0.1\lib
куда это добавитьjavascript:emoticon(':?:')
Question
Записан
Admin
Administrator
Джедай : наставник для всех
Offline
Сообщений: 1988
Ошибка при компиляции плагина mysql
«
Ответ #11 :
Ноябрь 03, 2005, 13:18 »
как ключик к gcc
Записан
BNN
Гость
Ошибка при компиляции плагина mysql
«
Ответ #12 :
Ноябрь 03, 2005, 13:55 »
Сделал так:
Цитата: "DenKor"
Покапавшись на форуме qtforum.org нашел следующее рабочее решение для MiniGW32 редакции Open Source.
Библиотека libmysql.lib, которая идет в комплекте с дистрибутивом MySQL подходит только для версии VC2003.
Для MiniGW нужно делать свою библиотеку:
1. Выполняем команду
dlltool --input-def libmySQL.def --dllname libmySQL.dll --output-lib mysql.a -k
2. При сборке появяться сообщение о ненайденных прототипах вида
mysql_close@4
Правим libmySQL.def подставляя вместо mysql_close нужное mysql_close@4.
Выполняем данные действия для всех подобных прототипов, пока не будут выдаваться сообщения об ошибках линковки
3.Получаем правильную библиотеку mysql.a
4.Для редакции Open Source мне пришлось дополнительно править makefile, чтобы при сборке правильно находилась библиотека
Вместо параметра -lmysql.lib я поставил полный путь к mysql.a
LIBS = -L"F:\Qt\4.0.0\lib" -L"F:\Qt\4.0.0\lib" F:\Qt\4.0.0\lib\mysql.a -lQtCored4 -lQtSql
d4
муторно правда def файл ручками править. Но все работает (покрайней мере sqlbrowser конектится и базы видит) Щас со своей проги буду коннектится.
про reimp все пишут , а где взять -то. у мня в mingw ее нет
Записан
VAPerlin
Гость
Re: Ошибка при компиляции плагина mysql
«
Ответ #13 :
Ноябрь 20, 2008, 21:26 »
Цитата: BNN от Ноябрь 03, 2005, 13:55
муторно правда def файл ручками править. Но все работает (покрайней мере sqlbrowser конектится и базы видит) Щас со своей проги буду коннектится.
про reimp все пишут , а где взять -то. у мня в mingw ее нет
В состав пакета MinGW входит, в частности, mingw-utils. Там оно и лежит. Нужно ее скачать и распаковать куда следует.
Записан
Mpa4Hu
Гость
Re: Ошибка при компиляции плагина mysql
«
Ответ #14 :
Февраль 17, 2011, 14:49 »
когда я делаю reimp libmysql.lib, ну или все остальные вариации, у меня libmysql.a создаетса 0 кб
помогите пожалуста, либо скажыте что не так делаю, либо просто подкинте этот файл, мне очень нужен этот файл под MinGW
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...