Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.138.102.178] |
|
Страницы: (5) 1 2 [3] 4 5 все ( Перейти к последнему сообщению ) |
Сообщ.
#31
,
|
|
|
Скорее всего, да, rodion просто не умеет подключать либы к mingw.
|
Сообщ.
#32
,
|
|
|
У меня к сожалению mysql 5.7. Драйвер для mysql я собрал, благодаря вашим советам.
В качестве тестового приложения использую пример sqlbrowser. Вот последний говорит что не может загрузить Драйвер для mysql, но драйвер существует. |
Сообщ.
#34
,
|
|
|
хоть что-то стало понятно.
1. признало что мой qsqlmysqld.dll плагин 2. чего то не хватает. QLibraryPrivate::loadPlugin failed on "C:/Qt/Qt5.5.1/5.5/mingw492_32/plugins/sqldrivers/qsqlmysqld.dll" : "Cannot load library C:/Qt/Qt5.5.1/5.5/mingw492_32/plugins/sqldrivers/qsqlmysqld.dll: Не найден указанный модуль." |
Сообщ.
#35
,
|
|
|
Попробуй вот такой финт:
int main(int argc, char *argv[]) { QApplication App(argc, argv); ///////////////////////////////////////////////////////////////////////// // создай рядом с __исполняемым__ файлом каталоги: // plugins/platforms // qminimal.dll // qoffscreen.dll // qwindows.dll // plugins/sqldrivers // твои драйвера ///////////////////////////////////////////////////////////////////////// QStringList PathList = App.libraryPaths(); PathList.append(App.applicationDirPath() +"/plugins"); App.setLibraryPaths(PathList); ///////////////////////////////////////////////////////////////////////// QTextCodec *codec = QTextCodec::codecForName("UTF-8"); QTextCodec::setCodecForLocale(codec); QDir::setCurrent(qApp->applicationDirPath()); MainWindow *AppMainWindow = new MainWindow(); AppMainWindow->show(); return App.exec(); } Добавлено Add: dll-ку от MySQL положи либо рядом с исполняемым файлом, либо в любой другой каталог из %PATH% |
Сообщ.
#36
,
|
|
|
Сделай билд либы и проверь лежит ли она по указанным путям. В пост билд евентс добавь qtшную утилиту деплоя, для того, чтобы скопировать все зависимые либы и ресурсы в папку куда был билд приложения.
Если не получится, выкладывай проект. |
Сообщ.
#37
,
|
|
|
Цитата MedEx @ В пост билд евентс добавь qtшную утилиту деплоя Поделись, плс, линком на эту инфу, типа "как сделать", или распиши по шагам. Я все делаю вручную - все норм, но не по фэншую это. |
Сообщ.
#39
,
|
|
|
MedEx, сенкс!
|
Сообщ.
#40
,
|
|
|
Скопировал C:\Program Files\MySQL\MySQL Connector.C 6.1\lib\libmysql.dll к исполняему файлу
послали в другое место QLibraryPrivate::loadPlugin failed on "C:/Qt/Qt5.5.1/5.5/mingw492_32/plugins/sqldrivers/qsqlmysqld.dll" : "Cannot load library C:/Qt/Qt5.5.1/5.5/mingw492_32/plugins/sqldrivers/qsqlmysqld.dll: %1 не является приложением Win32." Попробовал сделать либу используя только reimp reimp --dlltool C:\Qt\Qt5.5.1\Tools\mingw492_32\bin\dlltool.exe libmysql.lib получил файл Прикреплённый файлdcfdh.s (461 байт, скачиваний: 124) была выдана ошибка CreateProcess |
Сообщ.
#41
,
|
|
|
Цитата rodion @ У меня к сожалению mysql 5.7. теперь и у меня тоже мускул 5.7 опробовал его тоже все пучком Цитата rodion @ Скопировал C:\Program Files\MySQL\MySQL Connector.C 6.1\lib\libmysql.dll к исполняему файлу послали в другое место QLibraryPrivate::loadPlugin failed on "C:/Qt/Qt5.5.1/5.5/mingw492_32/plugins/sqldrivers/qsqlmysqld.dll" : "Cannot load library C:/Qt/Qt5.5.1/5.5/mingw492_32/plugins/sqldrivers/qsqlmysqld.dll: %1 не является приложением Win32." Попробовал сделать либу используя только reimp reimp --dlltool C:\Qt\Qt5.5.1\Tools\mingw492_32\bin\dlltool.exe libmysql.lib получил файл Прикреплённый файлdcfdh.s (461 байт, скачиваний: 124) была выдана ошибка CreateProcess старик ты протестируй мускул для начала на простом примере типа этого: #include <cstdio> #include <windows.h> #include <mysql.h> MYSQL mysql; MYSQL_RES* res; MYSQL_ROW row; void exiterr(int exitcode) { printf("%s\n", mysql_error(&mysql)); exit(exitcode); } int main(){ if (!mysql_init(&mysql)) abort(); if (!(mysql_real_connect(&mysql, "localhost", "root", "password", "testdb", 3306, NULL, 0))) exiterr(1); if (mysql_select_db(&mysql,"testdb")) exiterr(2); if (mysql_query(&mysql,"select * from test")) exiterr(3); if (!(res = mysql_store_result(&mysql))) exiterr(4); while((row = mysql_fetch_row(res))) { for (int i = 0; i < mysql_num_fields(res); i++) printf("%s\t",row[i]); printf("\n"); } if (!mysql_eof(res)) exiterr(5); mysql_free_result(res); mysql_close(&mysql); } а потом пробуй с Qt |
Сообщ.
#42
,
|
|
|
Cfon, будешь просто адовый кросавело, если сделаешь батник, который выкачивает, устанавливает и собирает все как надо В качестве качалки лучше всего использовать консольную версию WGet'а.
|
Сообщ.
#43
,
|
|
|
Цитата JoeUser @ Cfon, будешь просто адовый кросавело, если сделаешь батник, который выкачивает, устанавливает и собирает все как надо В качестве качалки лучше всего использовать консольную версию WGet'а. да я вроде все описал для простого случая путем обращения через MySQL C API с Qt щас не имею возможности протестить мускул, а вот MySQL Connector/C++ попробую протестить |
Сообщ.
#44
,
|
|
|
И как этот простой пример собрать? У меня кроме qt ничего Опять чехарда с либами?
|
Сообщ.
#45
,
|
|
|
Цитата rodion @ И как этот простой пример собрать? У меня кроме qt ничего Опять чехарда с либами? как как просто 1. создаешь консольное приложение 2. копипастишь мой пример 3. прописвашь настройки компилятора: g++ example.cpp -o example.exe "-IC:/MySQL/MySQL Server 5.7/include" "-LC:/MySQL/MySQL Server 5.7/lib" -llibmysql 4.чтобы работало надо подключать liblibmysql.a, для этого запускаешь в консоле reimp.exe libmysql.lib она создаст два файла (liblibmysql.a и libmysql.def) но нужен один liblibmysql.a когда указываешь опцию -l для g++ то обрати внимание на то что вместо liblibmysql.a указывается только libmysql, т.е -llibmysql, все эти настройки можно естесно делать из IDE. Кстати какой у тебя IDE? 5. не забудь прописать путь в переменную окружения виндос PATH=C:/MySQL/MySQL Server 5.7/bin;... 6. в папке bin должен лежать длл: libmysql.dll 7. создай через консоль mysql.exe: БД testdb и таблицу test и заполни ее чем нибудь 8. ВСЕ! пс. пример тестил на минге 4.9 + мускул 5.7 + notepad++ |