Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Application multi-périphérique. Problème de dll


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Application multi-périphérique. Problème de dll
    Bonjour.
    Je ne sais pas trop dans quel forum poser ma question...
    Je résume : Windows 64 bits virtuel (avec Parallel) sur Macbook. Wamp sur windows et Mamp sur Mac. Base de donnée sql sur les 2. PaServer sur Mac.
    j'ai crée une appli sur Rad Studio 10.3.2. Compilation et exécution pour windows 32 bits et 64 bits OK.
    La compilation pour Mac 64 bits se pass bien. Le programme exécutable est bien crée mais aucune fenêtre ne s'ouvre.
    PaServer indique une erreur tout a fait logique : "Impossible de charger la bibliothèque du fournisseur [libmysqlclient.dylib, libmariadb or libmysqld.dylib]".
    Ma question est simple : ou récupérer la librairie . libmysqlclient.dylib . par exemple ???


    Si quelqu'un a la solution, je l'en remercie car je tourne en rond, je tourne en rond....

    Chamac

    A noter que j'ai eu un problème similaire pour compiler pour W64. problème resolu.

  2. #2
    Membre émérite
    Bonjour,

    Toutes les bibliothèques redistribuables se trouvent dans le répertoire :

    C:\Program Files (x86)\Embarcadero\Studio\20.0\Redist\

    Ensuite il y a des sous répertoires en fonction des plateformes.
    Regardes si tu trouves ton bonheur là dedans.

  3. #3
    Membre expérimenté
    Dans l'assistant de déploiement (menu Projet / Déploiement) tu as une des cases qui propose la liste des produits complémentaires (comme IBLite par exemple), ça te permet d'ajouter les runtime ou DLL de produits gérés par Delphi. Je ne me souviens plus si MySQL y est, mais c'est possible.

    Si tu ne trouves la DLL nulle part, le plus simple est d'aller fouiner dans l'installer standard de MySQL ou l'une de ses déclinaisons qui embarque la DLL ou DyLIB (Mac) cliente nécessaire.

  4. #4
    Membre à l'essai
    Merci. Je vais creuser tout ça.

  5. ###raw>post.musername###
    Membre à l'essai
    Bonjour.
    J'ai exploré les piste proposées mais sans résultat. J'ai même ajouté un chemin au path du Mac. Pas mieux... J'ai récupéré une dylib supplémentaire dans MAMP (j'avais oublié d'y regarder ...)
    Par contre il y a une erreur signalée lors de la compilation :

    [dccosx64 Conseil] H2596 ld: warning: directory not found for option '-L\\Mac\Home\Documents\Embarcadero\Studio\20.0\Imports'.

    Or le dossier "20.0" pas plus que "import" ne figurent dans "Documents\Embarcadero\Studio" où se trouvent les projets
    Par contre ils existent dans le dossier d'installation de Embarcadero sur le disque C de Windows 7 64 virtuel..
    J'ai pensé à un paramètrage incorrect dans les options concernant les dossiers mais étant un "vieux nouveau" dans Rad Studio je n'ai pas trouvé la réponse. L'aide de Rad ne m'a rien donné....elle est énorme..
    Si quelqu'un a une idée, elle serait la bien venue.
    Je vous remercie.
    Chamac.
      0  0

  6. #6
    Membre actif
    Peut-être regarder tranquillement et méthodiquement les chemins de recherche que tu as inclus dans les options de ton projet, et cela pour chaque cible. Ça m'arrive de modifier un chemin et ne pas avoir vu que je l'avais uniquement pour une seule cible et pas toutes...

  7. #7
    Membre à l'essai
    Merci pour les chemins. Mais en fait il m'a suffit de créer les dossiers absents.
    La compilation se fait parfaitement, l'exécutable est bien enregistré dans le dossier de PAServer. Il se lance mais la fenêtre se referme aussitôt et PAServer indique toujours la même erreur concernant l'absence de la dylib.
    Je pense que je ne maitrise pas la notion de paquetage. D'après ce que j'ai compris (sans certitude) il me faudrait créer un paquetage qui contiendrait cette dll. Or le dossier (par défaut) chargé de l'accueillir est vide...
    Je vais me pencher sur ce problème.
    Chamac.

  8. #8
    Expert éminent sénior
    d'après l'aide il faut déployer à la main

    sudo tar -C /usr/local -zxvf mysql-connector-c-6.1.6-osx10.8-x86.tar.gz

    http://dev.mysql.com/downloads/conne...r/c/#downloads

    mais je me demande s'il n'est pas possible de l'ajouter au déploiement.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  9. #9
    Membre à l'essai
    J'ai essayé avec tar mais cela n'a rien donné. Il me semble d'ailleurs que Embarcadero dit ne pas avoir testé. A moins que j'aie mal interprété..
    Quant au paquetage je n'ai pas bien réalisé.
    Par contre j'ai converti ma base Mysql en SQLite. Et là j'ai l'exécution pour Windows et OSX !!
    La seule contrainte est de rechercher l'emplacement de mabase.db lors de l'exécution et d'établir la connexion à cette base.

    Je vous remercie .
    Chamac

###raw>template_hook.ano_emploi###