-
wrote on 13 Jun 2019, 15:42 last edited by
Bonjour, je suis bloqué depuis plusieurs jours avec un problème de library mysql.
W libSojAndroid.so: QSqlDatabase: QMYSQL driver not loaded
W libSojAndroid.so: QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3J'ai regardé sur différents site. On me parle de libqsqlmysql.so qu'il faut compiler. Mais après avoir suivie tous les tuto sur le sujet je n'ai toujours aucun résultats.
Merci de votre aide.
-
Bonjour et bienvenue,
Quels tutorials exactement ?
Pour Androïd, la première chose à faire est de compiler MariaDB pour Android avant de compiler le plugin pour Qt. -
wrote on 14 Jun 2019, 08:17 last edited by
-
Un lien vers le dit tutorial serait une bonne chose.
Pour le moment je vois une tentative de compiler OpenSSL.
-
wrote on 17 Jun 2019, 06:52 last edited by
Bonjour voici le lien : (Option 2) pour windows avec Msys
https://wiki.qt.io/Build_Qt_5_MySQL_Plugin_for_AndroidCar le problème est que je crée une application android, que j'ai besoin d'accéder a une base mysql distante. Comme indiqué dans mon premier message le fichier libqsqlmysql.so est présent mais ne fonctionne pas.
QT 5.12.3
android armV7
windows 7 -
Vous êtes-vous assuré que les dépendances étaient bien déployées avec le plugin ?
Une chose à faire est de lancer l'application avec la variable d'environnement
QT_DEBUG_PLUGINS
à 1. Cela donnera des informations supplémentaires par rapport au chargement des différents plugins utilisés par l'application. -
wrote on 17 Jun 2019, 08:20 last edited by
Nn je n'ai pas regarder. Mais je ne sais pas comment regarder.
Voici une partie du code du fichier .pro
MYSQL_LIBS=-lmysqld
DEPLOYMENT_PLUGIN += qmysqlunix:!macx:
{
android:
{ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android contains(ANDROID_TARGET_ARCH,armeabi-v7a) { ANDROID_EXTRA_LIBS = \ $$PWD/android/libs/arm/libmariadb.so } }
}
-
Du poin de vue du déploiement les informations ont l'air bonne.
Donc, il faut regarder dans la console les messages relatifs à l'application. Comme dit précédemment, la variable d'environment
QT_DEBUG_PLUGINS
permet de savoir qu'est-ce qui se passe lors du chargement des différents plugins. -
wrote on 20 Jun 2019, 09:06 last edited by
Sortie de l'application:
W linker : "/data/app/org.qtproject.example.SojAndroid-qAWxlWpLElzw6BvJczymlg==/lib/arm/libQt5AndroidExtras.so" has unsupported flags DT_FLAGS_1=0x80
W linker : "/data/app/org.qtproject.example.SojAndroid-qAWxlWpLElzw6BvJczymlg==/lib/arm/libQt5Gui.so" has unsupported flags DT_FLAGS_1=0x80
W linker : "/data/app/org.qtproject.example.SojAndroid-qAWxlWpLElzw6BvJczymlg==/lib/arm/libQt5Sql.so" has unsupported flags DT_FLAGS_1=0x80
W linker : "/data/app/org.qtproject.example.SojAndroid-qAWxlWpLElzw6BvJczymlg==/lib/arm/libQt5Widgets.so" has unsupported flags DT_FLAGS_1=0x80
W linker : "/data/user/10/org.qtproject.example.SojAndroid/qt-reserved-files/plugins/platforms/android/libqtforandroid.so" has unsupported flags DT_FLAGS_1=0x80D libSojAndroid.so: getInstance = 2
D libSojAndroid.so: PluginLoader worked = false
D libSojAndroid.so: Plugin Loader error= "The shared library was not found."
W libSojAndroid.so: QSqlDatabase: QMYSQL driver not loaded
W libSojAndroid.so: QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3voici les lignes en rouges dans la sortie de l'application
-
Puisqu'il y a eu compilation de OpenSSL durant la compilation de MariaDB, je suppose qu'il faut également les déployer.
-
wrote on 21 Jun 2019, 12:15 last edited by
Bonjour déployer quel fichier et a quel endroit ? Je suis novice et perdu.
-
wrote on 21 Jun 2019, 13:15 last edited by
J'ai essaye ce tuto. J'ai une erreur de compilation pour la creation des deux fichiers. J'ai ensuite télécharger l'exemple et compiler avec 5.12.3 et j'obtiens la même erreur que moi . Je me demande si la compilation des deux fichiers doit se faire pour qt 5.12.3 ou on peut prendre des fichiers compiler sous des versions anciennes.
-
wrote on 21 Jun 2019, 13:34 last edited by
-
J'ai essaye ce tuto. J'ai une erreur de compilation pour la creation des deux fichiers. J'ai ensuite télécharger l'exemple et compiler avec 5.12.3 et j'obtiens la même erreur que moi . Je me demande si la compilation des deux fichiers doit se faire pour qt 5.12.3 ou on peut prendre des fichiers compiler sous des versions anciennes.
@PAD49 said in Problème android mysql:
J'ai essaye ce tuto. J'ai une erreur de compilation pour la creation des deux fichiers. J'ai ensuite télécharger l'exemple et compiler avec 5.12.3 et j'obtiens la même erreur que moi . Je me demande si la compilation des deux fichiers doit se faire pour qt 5.12.3 ou on peut prendre des fichiers compiler sous des versions anciennes.
Il est recommandé de compiler OpenSSL soit-même puisqu'il s'agit d'une librairie de cryptographie.
-
wrote on 24 Jun 2019, 06:35 last edited by
oui une erreur de cryptographie pour la compilation
-
wrote on 27 Jun 2019, 06:55 last edited by
Aidez moi s'il vous plait . Car besoin urgent de communiquer a distant avec la base de donnée MYSQL et mon application android.
-
@PAD49 said in Problème android mysql:
oui une erreur de cryptographie pour la compilation
Je ne vois pas ce que vous voulez dire avec ça.
-
Aidez moi s'il vous plait . Car besoin urgent de communiquer a distant avec la base de donnée MYSQL et mon application android.
@PAD49 said in Problème android mysql:
Aidez moi s'il vous plait . Car besoin urgent de communiquer a distant avec la base de donnée MYSQL et mon application android.
Je comprends tout à fait que ce soit urgent pour vous mais il vous faut comprendre que ceci est un forum utilisateur où ce sont des volontaires qui répondent quand ils en ont le temps et l'envie.
Si vous avez besoin d'une aide plus rapide et ponctuelle il vous faut considérer l'engagement d'un.e ou plusieurs professionnel.le.s.
-
wrote on 28 Jun 2019, 08:34 last edited by
@SGaist je comprend vos messages je suis désole si vous l'avez mal prit.
Voici l'erreur que j'obtiens quand j'essaye de compiler le driver mysql pour android:
/usr/bin/install -c -m 644 ./iconvctl.3.html /c/Android/android-ndk-r17b-windows-x86_64/android-ndk-r19c/platforms/android-16/arch-arm//usr/share/doc/libiconv/iconvctl.3.html
make[1] : on quitte le répertoire « /c/Android/mysql/build_libmariadb_temp/libiconv-1.14/man »
-- Configuring done
-- Generating done
-- Build files have been written to: /c/Android/mysql/build_libmariadb_temp/mariadb_client-2.0.0-src/build
Scanning dependencies of target libmariadb
[ 1%] Building C object libmariadb/CMakeFiles/libmariadb.dir/array.c.o
In file included from C:/msys64/usr/include/machine/endian.h:6:0,
from C:/msys64/usr/include/sys/types.h:51,
from C:/msys64/usr/include/pthread.h:11,
from C:/Android/mysql/build_libmariadb_temp/mariadb_client-2.0.0-src/include/my_global.h:73,
from C:/Android/mysql/build_libmariadb_temp/mariadb_client-2.0.0-src/libmariadb/mysys_priv.h:18,
from C:/Android/mysql/build_libmariadb_temp/mariadb_client-2.0.0-src/libmariadb/array.c:22:
C:/msys64/usr/include/machine/_endian.h: In function '__ntohs':
C:/msys64/usr/include/machine/_endian.h:38:3: warning: matching constraint does not allow a register
: "0" (_x));
^
In file included from C:/msys64/usr/include/sys/fcntl.h:3:0,
from C:/msys64/usr/include/fcntl.h:12,
from C:/Android/mysql/build_libmariadb_temp/mariadb_client-2.0.0-src/include/my_global.h:175,
from C:/Android/mysql/build_libmariadb_temp/mariadb_client-2.0.0-src/libmariadb/mysys_priv.h:18,
from C:/Android/mysql/build_libmariadb_temp/mariadb_client-2.0.0-src/libmariadb/array.c:22:
C:/msys64/usr/include/sys/_default_fcntl.h: At top level:
C:/msys64/usr/include/sys/_default_fcntl.h:186:8: error: redefinition of 'struct flock'
struct flock {
^
In file included from C:/msys64/usr/include/sys/types.h:226:0,
from C:/msys64/usr/include/pthread.h:11,
from C:/Android/mysql/build_libmariadb_temp/mariadb_client-2.0.0-src/include/my_global.h:73,
from C:/Android/mysql/build_libmariadb_temp/mariadb_client-2.0.0-src/libmariadb/mysys_priv.h:18,
from C:/Android/mysql/build_libmariadb_temp/mariadb_client-2.0.0-src/libmariadb/array.c:22:
C:/msys64/usr/include/machine/types.h:46:8: note: originally defined here
struct flock {
^
make[2]: *** [libmariadb/CMakeFiles/libmariadb.dir/build.make:63: libmariadb/CMakeFiles/libmariadb.dir/array.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:149: libmariadb/CMakeFiles/libmariadb.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
Changes:
diff: ./rootfs_files_before.txt: No such file or directory -
Il y a des choses étranges. Pourquoi le ndk 19 est-il contenu dans le 17 ?
On dirait également que des headers du system sont utilisés à la place de ceux du NDK.
1/20