IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

PostgreSQL Discussion :

Application utilisant libpq (problème de dll)


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 151
    Par défaut Application utilisant libpq (problème de dll)
    Bonjour,

    J'ai terminée mon application utilisant libpq. Je souhaiterais donc créer un installer pour pouvoir la distribuer.

    J'utilise Inno Setup. J'ai importé les librairies nécessaires à mon application dont libpq.dll.

    Lorsque je lance mon application nouvellement installée, j'ai ce message d'erreur : "L'application n'a pas réussi à s'initialiser correctement..."

    J'avais installé postgresql sur mon poste de développement, avant tout marchait, mais depuis sa désinstallation, j'ai le même message d'erreur.

    Mon problème vient donc de là : que dois-je inclure comme fichier en plus de libpq.dll pour que mon application fonctionne en "stand-alone" ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 151
    Par défaut
    D'après ce lien http://www.postgresql.org/docs/8.3/i...n32-libpq.html, il faut seulement la dll libpq.dll (au pire la placer dans Windows/System32).

    C'est bien ce que j'ai fait...

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Par défaut
    Bonjour (des hauts et des bas.....)
    To use the library, you must add the libpqdll.lib file to your project. (In Visual C++, just right-click on the project and choose to add it.)
    Pour utiliser la librairie vous devez ajouter La libpqdll.lib ....
    Lecture trop rapide de votre lien ....
    Cordialement



  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 151
    Par défaut
    Et bien non,
    interfaces\libpq\Release\libpqdll.lib

    Import library to link your programs to libpq.dll
    Sauf erreur de ma part, elle sert au linkage lors de la compilation. Une fois l'exe produit, il n'y en a plus besoin.

    J'essaye tout de même de l'inclure, mais elle n'est pas présente sur mon disque dur

  5. #5
    Inactif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    245
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Par défaut
    Vous avez mal interpreté ma remarque précédente je parle bien d'insertion lib dans votre projet a la compi..
    Les directives generées au linkage de la version binaire originale
    ne correspondent pas forcement aux directives generées par votre instruction d'insertion.
    Il faut essayer de copier les dll du rep \lib de PG(binaire) dans system32 ou un
    rep qui (path) global en auto ) sur votre applicatif.
    J'ai fait des tests avec libpq et lipqxx cela fonctionne parfaitement.
    avec G++ avec VC++ avec Open Watcom,intel C++ Compiler 10.1 , et borland (Serveur 2008)
    Moi j'ai copié toutes les dll dans le system32 de Bill. pour ne pas m'em... (je ne suis pas certain que c'est la solution a votre problème).je pense plutot a une directive mal générée par le make de votre projet ?? ou un fichier manquant dans votre reinstall ???
    Normalement ça fonctionne parfaitement.
    On attend avec impatience un telechargement en trial de votre application avec la bonne Bill.dll..

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 151
    Par défaut
    Je suis reparti sur un programme utilisant seulement la libpq.

    J'utilise Dev-Cpp, j'ai installé pgsql en binaire (postgresql-8.3.1-1-binaries-no-installer.zip) dans C:\Dev-Cpp\pgsql

    J'ai copier toutes les dll de C:\Dev-Cpp\pgsql\lib dans ....System32

    J'ai créé un projet, ajouté les includes (-I c:\dev-cpp\pgsql\include) et link (-L c:\dev-cpp\pgsql\lib -lpq)

    Tout compile bien. J'exécute et j'obtiens mon message d'erreur "L'application n'a pas réussi à s'initialiser correctement (0xc0150002). Cliquez sur OK pour arrêter l'application.

    Que me manque t-il ?

    Info : devcpp-4.9.9.2 inclue Mingw/GCC 3.4.2

    Le plus surprenant, c'est que si j'installe un serveur postgre, ça marche...

    Edit : J'ai tenté en compilant en dehors de dev-cpp, en copiant le fichier source dans le répertoire bin et même erreur...

Discussions similaires

  1. [WD17] Problème de dll au lancement de l'application
    Par lololebricoleur dans le forum WinDev
    Réponses: 3
    Dernier message: 15/02/2012, 13h34
  2. Problème utilisation de pointeur avec dll
    Par Xarik dans le forum C#
    Réponses: 4
    Dernier message: 05/08/2011, 20h37
  3. problème d'application utilisant une base de données
    Par hayat2 dans le forum Bases de données
    Réponses: 12
    Dernier message: 29/09/2009, 18h10
  4. Réponses: 2
    Dernier message: 27/11/2008, 11h57
  5. Réponses: 2
    Dernier message: 19/12/2006, 15h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo