|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : décembre 2007 Messages : 151 ![]() |
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" ? |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : décembre 2007 Messages : 151 ![]() |
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...
|
|
|
00
|
|
|
#3 |
|
Inactif
![]() Inscription : novembre 2004 Messages : 247 ![]() |
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 |
|
|
00
|
|
|
#4 | |
|
Membre du Club
![]() Inscription : décembre 2007 Messages : 151 ![]() |
Et bien non,
Citation:
J'essaye tout de même de l'inclure, mais elle n'est pas présente sur mon disque dur |
|
|
|
00
|
|
|
#5 |
|
Inactif
![]() Inscription : novembre 2004 Messages : 247 ![]() |
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. .
|
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : décembre 2007 Messages : 151 ![]() |
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... |
|
|
00
|
|
|
#7 |
|
Inactif
![]() Inscription : novembre 2004 Messages : 247 ![]() |
Le plus surprenant, c'est que si j'installe un serveur postgre, ça marche...
Postgres passif ou actif avec l'initdb base ? Vous avez lancé le VCVARS32.bat je pense que c'est pour formater les directive @ correctement. J'ai fait une erreur pour les DLL c'est les DLL du bin de PG que j'ai copié dans SYTEM32 je crois ...J'e n'ai plus le serveur Bill en fonction pour verifier. (Note: je ne peux pas l'allumer là j'ai trop de serveurs branchés).. |
|
|
00
|
|
|
#8 | |
|
Membre du Club
![]() Inscription : décembre 2007 Messages : 151 ![]() |
Le serveur est éteind. "avec l'initdb base" ?
Pour VCVARS32.bat, je développe qu'avec Dev-cpp et mingw. Citation:
Je patauge là... je ne vois pas ce que le serveur postgre a à voir la dedans surtout si il est éteint... |
|
|
|
00
|
|
|
#9 |
|
Inactif
![]() Inscription : novembre 2004 Messages : 247 ![]() |
Changez le nom du repertoire PG binaire installé et faites le test pour voir..
|
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : décembre 2007 Messages : 151 ![]() |
Idem, en recompilant aussi..
|
|
|
00
|
|
|
#11 |
|
Inactif
![]() Inscription : novembre 2004 Messages : 247 ![]() |
Je m'explique mal ...
Votre appli fonctionne toujours même si vous deplacez le rep PG binaire passif a un endroit supposé inaccessibe par votre application ??? C'est dingue !!!! 2 solutions ou il trouve un fichier dans l'install binaire ou il utilise l'utilisateur sans droits administrateur. ????????? |
|
|
00
|
|
|
#12 |
|
Membre du Club
![]() Inscription : décembre 2007 Messages : 151 ![]() |
Et bien si je renomme mon répertoire Dev-Cpp par _Dev-Cpp (j'ai installé toutes les librairies dans Dev-Cpp) et que je lance l'application
- sans postgre -> plantage - avec -> OK J'ai même lancé mon application au cours de l'installation, j'ai réussi à la lancer vers le milieu de l'installation... |
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Inscription : décembre 2007 Messages : 151 ![]() |
De même, je ne vois pas ce qu'il pourrait utiliser, postgre est installé par défaut dans C:\Program Files\ qui est inaccessible... A moins qu'il ne copie des choses dans system32.
|
|
|
00
|
|
|
#14 |
|
Inactif
![]() Inscription : novembre 2004 Messages : 247 ![]() |
J'ai regardé rapidement dans le code source.
Il semble que La dll n'est pas un client complet elle utilise le client Postgres pour pluguer le serveur local ou distant (C'est assez complexe il faut que je lise plus profondementle pour confirmer ce que j'avance) Dans Unix on peut installer uniquement le client chez Bill nada ??? Install serveur PG binaire complet utilisation passive = client .... Il faut voir ce que comprend l'install d'un client unique PG chez les pingouins pour faire le ménage dans l'install (client serveur) binaire de Bill. Vous n'etes plus a un fichier pres..... Anium j'arrete là le systeme Bill c'est intéressant mais j'ai trop de t.a.f... pour poursuivre l'echange. Bon courage . |
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : décembre 2007 Messages : 151 ![]() |
Merci beaucoup pour votre aide.
Je vais essayer de comparer le répertoire system32 avant et après l'installation de postgresql, je vais voir aussi si il n'y a pas une application pour fournir la liste des fichiers copié par un installer. Je tiens au courant sur ce post pour ceux qui aurait le même problème. |
|
|
00
|
|
|
#16 |
|
Membre du Club
![]() Inscription : décembre 2007 Messages : 151 ![]() |
J'ai comparé les dll de Windows avant et après l'install de postgre voila ce qui change :
"C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700\msvcr80.dll"; "C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700\msvcm80.dll"; "C:\WINDOWS\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6b128700\msvcp80.dll"; Si je supprime ces dll, je tombe sur la même erreur quand postgresql est installé (ce qui est bon signe). Je garde ces dll pour mon logiciel (au même endroit ou dans son répertoire), mais l'erreur réapparait quand postgresql est désinstallé .
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com