Форум на Краснотурьинск.ру | |
/cgi-bin/yabb2/YaBB.pl
Технический >> Программное обеспечение >> Собрать mysql клиент для android и драйвер QT для него в windows /cgi-bin/yabb2/YaBB.pl?num=1461393341 Сообщение написано FiN в 23.04.2016 :: 11:35:41 |
Заголовок: Собрать mysql клиент для android и драйвер QT для него в windows Создано FiN в 23.04.2016 :: 11:35:41
это просто пост ненависти... чтобы было:)
предыстория Понадобилось написать android версию, одной утилиты спец назначения, которой нужно лазить в уже готовую бд под mysql, если бы я знал что это такой геморрой может быть и сменил бд в исходном проекте:) из готовый драйверов, под андроид в QT5 оказался только qlite, чтоб собрать драйвер нужен клиент под android, cначала начал итскать готовый libmysqsl.so долго рылся - вывод в основном такой mysdl для android не нативен собирать самим. Нашел несколько собраных - со всеми падало. почитал Libmysqlclient native port to android, Разработка Qt-приложения с доступом к MySQL под Android и Cross-compiling MySQL и еще много шлака, но основная проблема что я все это собирался под виндой собирать:) в итоге нужно Cmake QT5 visualstudio android-ndk, исходники Connector/C (libmysqlclient) is a client library for C development. и android.toolchain.cmake в android.toolchain.cmake есть инстукция как собирать под винду, у меня получилось так SET ANDROID_NDK=C:\Android\android-ndk-r10e cmake.exe -G"MinGW Makefiles" -DCMAKE_TOOLCHAIN_FILE=путь к\android.toolchain.cmake -DCMAKE_MAKE_PROGRAM="%ANDROID_NDK%\prebuilt\windows-x86_64\bin\make.exe" -DANDROID_ABI=armeabi-v7a -DANDROID_TOOLCHAIN_NAME=arm-linux-androideabi-4.8 -DANDROID_NATIVE_API_LEVEL=android-19 -DSTACK_DIRECTION=1 дальше было много всякого из того что осталось в записях:) ошибка #define S_IREAD в добавил ...\platforms\android-19\arch-arm\usr\include\linux\stat.h #if !defined(S_IREAD) && defined(S_IRUSR) # define S_IREAD S_IRUSR # define S_IWRITE S_IRUSR #endif error: unknown type name 'pthread_barrier_t' в \platforms\android-19\arch-arm\usr\include\pthread.h typedef struct { #if defined(__LP64__) int64_t __private[4]; #else int32_t __private[8]; #endif } pthread_barrier_t; error: 'SYS_gettid' undeclared mysql-connector-c-6.1.6-src\mysys\posix_timers.c:73 в api-21 этот кусок собирался в posix_timers.c добавил #include <sys/glibc-syscalls.h> и скинул glibc-syscalls.h из android-21 в 19:) Вылезло Generating ... comp_err: not found собрал mysql клиент для винды через visualstudio и забрал оттуда extra\*.exe в make файлах комментировал создание симлинков и удаление файлов т.е. вызывались ln -s и rm, както наверно это должно по другому делаться, более красиво... в итоге клиент собрался! два вечера и суббота:) дальше собираем драйвер из исходников QT открываем 5.6\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro добавляем путь к собраному клиенту LIBS += -Lпуть\mysql-connector-c-6.1.6-src\libs\armeabi-v7a велез install_target error 1 поправил в make C:$(INSTALL_ROOT на $(INSTALL_ROOT собрался libqsqlmysql.so кладем в \Qt\5.6\android_armv7\plugins\sqldrivers\ собираем проект добавляем и добавляем в либы libmysqlclient.so - все работает! но как оказалось только в android-6, на остальных платформах до боли знакомый Driver not loaded! в итоге убрал из папки клиента все shared либы оставил только статику пересобрал драйвер получился нужный libqsqlmysql.so работает везде времени потрачено караул - проще было исходный проект перевести на что нибудь другое наверно... в приложениях клиент mysql для android и драйвер для QT5.6 - может кто поиском набредет пригодится:) ps может все это как то можно проще сделать... /cgi-bin/yabb2/YaBB.pl?action=downloadfile;file=libqsqlmysql.rar (2009 KB | 169
) /cgi-bin/yabb2/YaBB.pl?action=downloadfile;file=libmysqlclient-armeabi-v7a.rar (12298 KB | 184
)
|
Заголовок: Re: Собрать mysql клиент для android и драйвер QT для него в windows Создано YuRbEn в 25.04.2016 :: 23:14:28
При всём уважении... не гламурно клиентом напрямую в бд лазить ::) Но для утилит спец назначения, позволительно :)
|
Заголовок: Re: Собрать mysql клиент для android и драйвер QT для него в windows Создано FiN в 26.04.2016 :: 23:30:31 YuRbEn записан в 25.04.2016 :: 23:14:28:
ты не понял, напрямую оно и не лазит этож - либа, набор библиотек, собраный с использованием ненормативной лексики:) а утилита да лазит напрямую... ps был удивлен постам в даной теме:) |
Заголовок: Re: Собрать mysql клиент для android и драйвер QT для него в windows Создано YuRbEn в 27.04.2016 :: 08:42:45
Понял, понял :) Примерно оценил трудозатраты и объем ненормативной лексики :) В 2014 кодил для коммерческого проекта, но там тфу тфу удалось вырулить как раз за счет серверной части которая аля кросс-БД и репликацией по региону. Но чтоб либу билдить под мускул это конечно респект. У топика потенциал, как только поисковики проиндексируют.
|
Заголовок: Re: Собрать mysql клиент для android и драйвер QT для него в windows Создано blinoladushka в 30.05.2016 :: 15:21:39
QT5 это сам по себе глюк. Одно время думал на нем писать, но меня убила неповортливость и глюковатость всей обертки. Пишу терь на Win Api. Может вам на андроиде клиента на JavaScript писать? а сервер пусть обрабатывает запросы ;D ;D ;D
|
Заголовок: Re: Собрать mysql клиент для android и драйвер QT для него в windows Создано FiN в 31.05.2016 :: 22:11:02 blinoladushka записан в 30.05.2016 :: 15:21:39:
и как, все летает? обертка не глючит?:) |
Заголовок: Re: Собрать mysql клиент для android и драйвер QT для него в windows Создано blinoladushka в 01.06.2016 :: 17:15:06 FiN записан в 31.05.2016 :: 22:11:02:
VS конечно не без глюков. |
Форум на Краснотурьинск.ру » Powered by YaBB 2.5 AE YaBB © 2000-2011. Все права защищены. |