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 :

pqxx sous windows


Sujet :

PostgreSQL

  1. #1
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut pqxx (maintenant libpq) sous windows
    Bonjour,

    Je n'arrive pas à installer lalibrairie pqxx sous une plateforme windows.

    L'utilisant actuellement sous Unix, j'ai besoin de porter mon projet sous windows.

    Merci d'avance.

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour
    (Anium,VASAPANCH, Pe04)
    Avez vous déjà créé un programme lié backend avec la libpq uniquement via mingw et le pack PG binaire ?

  3. #3
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 89
    Points : 83
    Points
    83
    Par défaut Backend ???
    Bonjour,

    pour utiliser libpq (ou libpqxx pourquoi pas) sous Windows avec Visual C++ version 9, j'ai essayé :

    1°) d'utiliser les fichiers qui se trouvent dans PostrGre\src\..\interfaces\libpq

    J'indique les fichiers d'include et les fichiers lib. Pas de problème à la compil. Par contre à l'édition de lien j'obtiens un message du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    D:\Projets\lippqoo\interfaces\lib\Release\libpq.dll : fatal error LNK1107: fichier non valide ou endommagé : impossible de lire à 0x2C0
    et ce quelquesoit le fichier dll que j'utilise (celui dans Release et ceux que j'ai pu downloader).

    2°) j'en ai déduit qu'il fallait que je recompile les fichiers contenus dans Release. Après avoir résolu beaucoup de problèmes (liés au PATH, etc...) j'ai enfin pu lancer le make file avec le compilateur nmake fournit par Visual C++ 9.0 mais là je tombe sur une coquille dont je n'arrive pas à me sortir : cf. le post [compilation libpq débutant] sur ce forum.

    Du coup, je bloque un peu.

    Concernant la question de bustaf : Avez vous déjà créé un programme lié backend avec la libpq uniquement via mingw et le pack PG binaire ? j'avoue que je ne comprends pas tout.

    En fouillant dans le source de PostGre je trouve bien un répertoire nommé backend dans lequel se trouve un autre répertoire nommé libpq. Voilà tout ce que j'ai pu faire...

    Du coup j'ai quelques questions :

    1-- qu'est qu'un programme lié backend ?
    2-- qu'est que le pack PG binaire ?
    3-- à quoi sert cette opération ?
    4-- comment l'effectuer ?
    5-- comment cette opération va permettre de résoudre mes problèmes de compilation ?

    Enfin deux questions essentielles me tracassent :

    1-- faut-il compiler la dll en fonction de l'outil de développement choisi ?
    2-- est-il possible de créer des programmes en utilisant libpq sous Visual C++ 9.0 ?

  4. #4
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 89
    Points : 83
    Points
    83
    Par défaut Idem sous Visual C++ 6.0
    Bonjour,

    J'ai essayé de compiler sous Visual C++ 6.0 et l'erreur est la même : pas de problème à la compilation mais à l'édition de lien je retrouve mon fameux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    D:\PROJETS\LIPPQOO\INTERFACES\LIB\RELEASE\libpq.dll : fatal error LNK1136: invalid or corrupt file
    Dommage...

  5. #5
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 89
    Points : 83
    Points
    83
    Par défaut RESOLU sous Visual C++ 9
    Salut,

    en fait j'avais quelques soucis à la compilation de la bibliothèque. Finalement je pense que c'est la création des variables d'environnement 'à la main' qui n'était pas bonne.

    En utilisant VCVARS32.BAT tout est OK !!!

    Voir le post [compilation libpq] débutant. En particulier l'intervention nommée RESOLU.

    A part le fait de DL postgre (pour ceux qui ne l'aurait pas), la manip pour compiler la dll et les includes, éditer le prog, les liens et l'éxécutable de test m'ont pris moins de 3/4 d'heure.

    Ca vaut le coup de tester.

  6. #6
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    Merci pour vos réponses.

    @bustaf : Que veux-tu dire par
    Avez vous déjà créé un programme lié backend avec la libpq uniquement via mingw et le pack PG binaire ?
    J'utilise mingw et cygwin pour utiliser les outils autoconf et automake.

    J'ai cette erreur bizarre lorsque je compile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    g++ -DHAVE_CONFIG_H -I. -I..    -g -O2 -mms-bitfields -IC:/GTK/include/gtkmm-2.4 -IC:/GTK/lib/gtkmm-2.4/include -IC:/GTK/include/glibmm-2.4 -IC:/GTK/lib/glibmm-2.4/include -IC:/GTK/include/gdkmm-2.4 -IC:/GTK/lib/gdkmm-2.4/include -IC:/GTK/include/pangomm-1.4 -IC:/GTK/include/atkmm-1.6 -IC:/GTK/include/gtk-2.0 -IC:/GTK/include/sigc++-2.0 -IC:/GTK/lib/sigc++-2.0/include -IC:/GTK/include/glib-2.0 -IC:/GTK/lib/glib-2.0/include -IC:/GTK/lib/gtk-2.0/include -IC:/GTK/include/cairomm-1.0 -IC:/GTK/include/pango-1.0 -IC:/GTK/include/cairo -IC:/GTK/include/freetype2 -IC:/GTK/include -IC:/GTK/include/atk-1.0  
     -IC:/cygwin/usr/include/postgresql -g -O2 -MT adressbox.o -MD -MP -MF .deps/adressbox.Tpo -c -o adressbox.o adressbox.cpp
    :Invalide argument
    Pourtant les flags sont générés automatiquement par ce Makefile.am
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    bin_PROGRAMS = gestion_appel
     
    gestion_appel_SOURCES = adressbox.cpp adresse.cpp callbox.cpp choicewindow.cpp customersbox.cpp \
    	datewidget.cpp editmessenger.cpp file.cpp gestion_appel.cc historybox.cpp infodb.cpp \
    	loginwindow.cpp main_window.cc mapping.cpp message.cpp messenger.cpp \
    	modelcolumns.cpp  object.cpp onrequestbox.cpp personne.cpp tel_mail.cpp telmailbox.cpp mytime.cpp \
    	treeviewpopup.cpp
     
    noinst_HEADERS = adressbox.h adresse.h callbox.h choicewindow.h customersbox.h datewidget.h \
    	delete.h editmessenger.h file.h infodb.h historybox.h loginwindow.h main_window.hh  mapping.h \
    	message.h messenger.h modelcolumns.h  object.h onrequestbox.h personne.h tel_mail.h \
    	telmailbox.h mytime.h treeviewpopup.h
     
     
     
    if DEBUG
        AM_CXXFLAGS = -ggdb -Wall -DDEBUG @GTKMM_CFLAGS@ -IC:/cygdrive/c/cygwin/usr/include/postgresql
        gestion_appel_LDFLAGS = -ggdb -LC:/cygwin/usr/lib 
    else
        AM_CXXFLAGS = @CXXFLAGS@ @GTKMM_CFLAGS@ -IC:/cygwin/usr/include/postgresql
    	gestion_appel_LDFLAGS = -LC:/cygdrive/c/cygwin/usr/lib 
    endif
     
    gestion_appel_LDADD = @LIBS@ @GTKMM_LIBS@ -lpq
    PS : J'ai traduit mon code libpqxx en libpq parce que pqxx n'était pas présent dans cygwin et je sèche vraiment pour l'installer.

  7. #7
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    J'ai fait un test sur un fichier utilisant seulement libpq et ça a compiler avec la ligne de compilation suivante :
    g++ -I/usr/include main.cpp -o test.exe -L/usr/lib -lpq

    Par contre j'ai du copier pas mal de dll dans le répertoire de l'exe.

    J'ai donc appliqué cette ligne de compilation à mon makefile.am mais mon projet ne compile pas pour autant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    make  all-recursive
    make[1]: Entering directory `/cygdrive/c/Users/pin/Desktop/gestion_appel_pq'
    Making all in src
    make[2]: Entering directory `/cygdrive/c/Users/pin/Desktop/gestion_appel_pq/src'
    g++ -DHAVE_CONFIG_H -I. -I..    -g -O2 -mms-bitfields -IC:/GTK/include/gtkmm-2.4 -IC:/GTK/lib/gtkmm-2.4/include -IC:/GTK/include/glibmm-2.4 -IC:/GTK/lib/glibmm-2.4/include -IC:/GTK/include/gdkmm-2.4 -IC:/GTK/lib/gdkmm-2.4/include -IC:/GTK/include/pangomm-1.4 -IC:/GTK/include/atkmm-1.6 -IC:/GTK/include/gtk-2.0 -IC:/GTK/include/sigc++-2.0 -IC:/GTK/lib/sigc++-2.0/include -IC:/GTK/include/glib-2.0 -IC:/GTK/lib/glib-2.0/include -IC:/GTK/lib/gtk-2.0/include -IC:/GTK/include/cairomm-1.0 -IC:/GTK/include/pango-1.0 -IC:/GTK/include/cairo -IC:/GTK/include/freetype2 -IC:/GTK/include -IC:/GTK/include/atk-1.0  
     -I/usr/include -g -O2 -MT adressbox.o -MD -MP -MF .deps/adressbox.Tpo -c -o adressbox.o adressbox.cpp
    : No such file or directory
    make[2]: Leaving directory `/cygdrive/c/Users/pin/Desktop/gestion_appel_pq/src'
    make[1]: Leaving directory `/cygdrive/c/Users/pin/Desktop/gestion_appel_pq'
    A priori, il ne trouve pas mon /usr/include. Pourtant il l'a trouvé avec mon test

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Bonjour (des hauts et des bas.....)
    1-- qu'est qu'un programme lié backend ?
    un programme qui connecte a la base via son source.
    2-- qu'est que le pack PG binaire ?
    La version binaire déjà compilée de postrgsql
    3-- à quoi sert cette opération ?
    L'utilisation du pack mingw est judicieuse pour le mode C++
    (libpq++ et autres)
    il faut faire une lib static .a (à partir des objets)
    Aussi pour la question posée par
    @ << dans le make
    c'est simplement pour s'instruire d'une directive au link
    j'ai volontairement fait une réponse fausse pour confirmer votre
    niveau débutant réel.

    Exemple compilateur Watcom (c'est +|- similaire avec les autres)
    system begin statistics form win
    form win
    libpath ..\libs
    library stats , etc ...
    option stack=8k
    end
    instruction au shell:
    wlink @stats file monprog

    Je vais brancher une serveur Bill 2008 dans une heure ou deux et je regarde votre problème.
    Confirmez SVP
    vous avez l'install binaire postgresql 8.3.1 en O/S Bill ???
    vous avez l'install MinGw 5.???
    vous avez l'install MSYS ???
    Vous avez Xp ,Vista ou serveur 2008
    Vous avez VC++ en Version express 2008
    @1|2+

  9. #9
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    vous avez l'install binaire postgresql 8.3.1 en O/S Bill ??? --> OK
    vous avez l'install MinGw 5.??? --> 5.1.4
    vous avez l'install MSYS ??? --> OK
    Vous avez Xp ,Vista ou serveur 2008 --> vista
    Vous avez VC++ en Version express 2008 --> je n'ai pas VC++

  10. #10
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 89
    Points : 83
    Points
    83
    Par défaut Libpq installé. Pas lipqxx...
    Bonjour,

    j'ai réussi à compiler ma libpq pour Visual C++ 9 et je l'utilise avec plaisir maintenant. Même si je n'ai pour le moment pas besoin de libpqxx, je suivrai vos démarches si je trouve le temps (pas mal de pressions en ce moment et pas que celles que je m'enfilent le soir accoudé au zinx).

    Concernant les éléments nécessaire :
    vous avez l'install binaire postgresql 8.3.1 --> OK en O/S Bill ---> kesako ???
    vous avez l'install MinGw 5.??? --> 5.1.3
    vous avez l'install MSYS ??? --> je vais DL l'exe
    Vous avez Xp ,Vista ou serveur 2008 --> XP
    Vous avez VC++ en Version express 2008 --> OK
    Vous avez libpq compilée pour Visual express 2008 --> OK !!!
    (faut bien se réjouir de temps en temps)

    -------------------------Concernant le @<< du make

    Je n'ai pas bien compris la réponse mais j'ai un tel manque de connaissances sur le sujet qu'il me semble bon de ne pas trop m'attarder sur la question pour le moment quitte à revenir dessus un peu plus tard.

    D'autant qu'en lancant VCVARS32.BAT mon nmake compile maintenant correctement le win32.mak qui "buggait" précédemment. Le problème vient surement du fait que j'avais tenté de définir à la main les variables d'environnement liées à VC++ et autres utilitaires nécessaires.

    @ suivre...

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    ANIUM faites ce même test que je viens de faire.

    J'installe MinGW 5.1.4 (install=MinGW 5.1.4.exe complète)
    Je n'installe pas MSYS je vais voir d'abord comme ça.
    J'ai un rep c:\mingw\bin\
    il y a g++, gcc etc ..

    Je recupère un prog backend pour le test.

    /*
    * test.cc
    *
    * Test the C version of libpq, the PostgreSQL frontend library.
    */
    #include <stdio.h>
    #include <stdlib.h>
    #include "libpq-fe.h"
    /*#include "libpq++.h"*/

    static void
    exit_nicely(PGconn *conn)
    {
    PQfinish(conn);
    exit(1);
    }

    int
    main(int argc, char **argv)
    {
    const char *conninfo;
    PGconn *conn;
    PGresult *res;
    int nFields;
    int i,
    j;
    /*
    * If the user supplies a parameter on the command line, use it as the
    * conninfo string; otherwise default to setting dbname=postgres and using
    * environment variables or defaults for all other connection parameters.
    */
    if (argc > 1)
    conninfo = argv[1];
    else
    conninfo = "dbname = postgres";

    /* Make a connection to the database */
    conn = PQconnectdb(conninfo);

    /* Check to see that the backend connection was successfully made */
    if (PQstatus(conn) != CONNECTION_OK)
    {
    fprintf(stderr, "Connection to database failed: %s",
    PQerrorMessage(conn));
    exit_nicely(conn);
    }

    /*
    * Our test case here involves using a cursor, for which we must be inside
    * a transaction block. We could do the whole thing with a single
    * PQexec() of "select * from pg_database", but that's too trivial to make
    * a good example.
    */

    /* Start a transaction block */
    res = PQexec(conn, "BEGIN");
    if (PQresultStatus(res) != PGRES_COMMAND_OK)
    {
    fprintf(stderr, "BEGIN command failed: %s", PQerrorMessage(conn));
    PQclear(res);
    exit_nicely(conn);
    }

    /*
    * Should PQclear PGresult whenever it is no longer needed to avoid memory
    * leaks
    */
    PQclear(res);

    /*
    * Fetch rows from pg_database, the system catalog of databases
    */
    res = PQexec(conn, "DECLARE myportal CURSOR FOR select * from pg_database");
    if (PQresultStatus(res) != PGRES_COMMAND_OK)
    {
    fprintf(stderr, "DECLARE CURSOR failed: %s", PQerrorMessage(conn));
    PQclear(res);
    exit_nicely(conn);
    }
    PQclear(res);

    res = PQexec(conn, "FETCH ALL in myportal");
    if (PQresultStatus(res) != PGRES_TUPLES_OK)
    {
    fprintf(stderr, "FETCH ALL failed: %s", PQerrorMessage(conn));
    PQclear(res);
    exit_nicely(conn);
    }
    /* first, print out the attribute names */
    nFields = PQnfields(res);
    for (i = 0; i < nFields; i++)
    printf("%-15s", PQfname(res, i));
    printf("\n\n");

    /* next, print out the rows */
    for (i = 0; i < PQntuples(res); i++)
    {
    for (j = 0; j < nFields; j++)
    printf("%-15s", PQgetvalue(res, i, j));
    printf("\n");
    }
    PQclear(res);
    /* close the portal ... we don't bother to check for errors ... */
    res = PQexec(conn, "CLOSE myportal");
    PQclear(res);
    /* end the transaction */
    res = PQexec(conn, "END");
    PQclear(res);
    /* close the connection to the database and cleanup */
    PQfinish(conn);

    return 0;
    }
    Je place ce code sous le nom test.cc dans le rep c:\mingw\bin

    je tlc le prog postgresql 8.3.1 en binaire je le place à la racine c:\pgsql
    Je copie les DLL chez Bill
    xcopy c:\pgsql\bin\*.dll c:\windows\system32

    cd c:\mingw\bin
    g++ -I c:\pgsql\include -L c:\pgsql\lib test.cc -o test -lpq

    c:\MinGW\bin>g++ -I c:\pgsql\include -L c:\pgsql\lib test.cc -o test -lpq

    c:\MinGW\bin>test
    Connection to database failed: could not connect to server: Connection refused (
    0x0000274D/10061)
    Is the server running on host "???" and accepting
    TCP/IP connections on port 5432?

    c'est normal la base n'est pas lancée
    Il faut déjà faire ce test pour voir si il ne manque pas des dll
    si il l'erreur est affichée c'est OK il a essayé de pluguer.
    Vous obtenez le même résultat ???

  12. #12
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    J'ai suivi vos directives et j'ai réussi à me connecter à ma base de donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    datname        datdba         encoding       datistemplate  datallowconn   datconnlimit   datlastsysoid  datfrozenxid   dattablespace  datconfig      datacl         
     
    template1      10             24             t              t              -1             11510          379            1663                          {=c/postgres,postgres=CTc/postgres}
    template0      10             24             t              f              -1             11510          379            1663                          {=c/postgres,postgres=CTc/postgres}
    postgres       10             24             f              t              -1             11510          379            1663                                         
    gestion_appel  16403          24             f              t              -1             11510          379            1663
    Ça fait plaisir

    J'adapte ça pour mon projet et je vous tiens au courant.

  13. #13
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    Bon même problème que précédemment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    make  all-recursive
    make[1]: Entering directory `/cygdrive/c/gestion_appel_pq'
    Making all in src
    make[2]: Entering directory `/cygdrive/c/gestion_appel_pq/src'
    g++ -DHAVE_CONFIG_H -I. -I..    -g -O2 -mms-bitfields -IC:/GTK/include/gtkmm-2.4 -IC:/GTK/lib/gtkmm-2.4/include -IC:/GTK/include/glibmm-2.4 -IC:/GTK/lib/glibmm-2.4/include -IC:/GTK/include/gdkmm-2.4 -IC:/GTK/lib/gdkmm-2.4/include -IC:/GTK/include/pangomm-1.4 -IC:/GTK/include/atkmm-1.6 -IC:/GTK/include/gtk-2.0 -IC:/GTK/include/sigc++-2.0 -IC:/GTK/lib/sigc++-2.0/include -IC:/GTK/include/glib-2.0 -IC:/GTK/lib/glib-2.0/include -IC:/GTK/lib/gtk-2.0/include -IC:/GTK/include/cairomm-1.0 -IC:/GTK/include/pango-1.0 -IC:/GTK/include/cairo -IC:/GTK/include/freetype2 -IC:/GTK/include -IC:/GTK/include/atk-1.0  
     -IC:/pgsql/include -g -O2 -MT aboutwindow.o -MD -MP -MF .deps/aboutwindow.Tpo -c -o aboutwindow.o aboutwindow.cpp
    : No such file or directory
    make[2]: Leaving directory `/cygdrive/c/gestion_appel_pq/src'
    make[1]: Leaving directory `/cygdrive/c/gestion_appel_pq'
    Je pense que cygwin s'y perd dans les path, pour lui c:\ correspond à /cygdrive/c/.

    J'ai tenté de modifier de cette manière dans makefile.am -> même résultat

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Entering directory `/cygdrive/c/gestion_appel_pq'

    Pour verifier la confusion de path
    utilisez des ../../ sans le C: pour reculer et reprendre les racines des
    repertoires concernés par rapport au path résident
    NB
    Votre automake construit fonctionne sans cette partie backend ???
    Si c'est l'unique problème on peut le contourner rapidement.

    (François pour le (spam) c'est le Forum qui tranche)


  15. #15
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 89
    Points : 83
    Points
    83
    Par défaut Spamming
    Je me permet de vous suivre car je suis interressé par créer un programme liée backend. J'ai suivi vos manips et j'en suis strictement au même point : j'ai la même erreur.

    Si il vous semble que je ne devrais pas poster pour éviter le spam et vous permettre de mieux dialoguer avec amnium, indiquez le moi poliment... je comprendrai et je vous suvrai sans poster.

    Cordialement,
    François.


    PS : pourquoi lorsque j'utilise pgsql binary for Bill avec installer, je ne retrouve pas mon répertoire include dans le bin ? Est-ce une erreur sur www.postgresql.com ?

  16. #16
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    Citation Envoyé par VASAPANCH Voir le message
    PS : pourquoi lorsque j'utilise pgsql binary for Bill avec installer, je ne retrouve pas mon répertoire include dans le bin ? Est-ce une erreur sur www.postgresql.com ?
    Voila le fichier que tu dois prendre : http://wwwmaster.postgresql.org/down...-installer.zip
    Il s'agit du no-installer

  17. #17
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 89
    Points : 83
    Points
    83
    Par défaut Merci
    OK.
    Avec ce fichier j'arrive au point indiqué par bustaf.
    Je l'ai décompressé dans c:\pgsql\ comme indiqué.
    Merci anium.

    J'attends la suite pour pouvoir décommenter le fameux /*#include "libpq++.h"*/ .......

    arggg.....

  18. #18
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    J'ai utilisé mon Makefile sur un prog de test postgre sans gtkmm et ça passe.

    J'ai renseigné comme chemin des includes c:/pgsql/include et c:/pgsql/lib pour les librairies.

    C'est donc gtk qui embête son monde. Pourtant les chemins sont bons puisque je peux accéder directement en tapant "ls c:/GTK/...." comme "ls /cygdrive/c/GTK/...."

    J'ai essayé de compiler manuellement, ça marche sauf qu'il me sort le même message d'erreur "No such file or directory" mais le .o est bien généré.

    Je vais ouvrir un autre post dans gtk car ça ne concerne plus postgresql.

    Un grand merci à vous bustaf, pour votre aide.

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 245
    Points : 262
    Points
    262
    Par défaut
    Je pense que clou du make peut venir des nominatifs de vos fichiers avec du MAJUS et MINUS (le path c:\pgsql\include est en minus c'est la raison de son fonctionnement ... ??????)
    ça marche c'est le principal..


    Je vous donnes la manipe pour faire la compile avec Bill
    Je vais couper le serveur Microsoft J'ai besoin d'utiliser une autre machine.

    générer la lib à partir du fichier dll
    Vous pouvez télécharger VC++ Express il semble gratuit ???
    + de 250 Mo au plus juste.... (Pour un simple plug backend j'espère que la manipe va fonctionner ....)

    je construit la lib (pseudo static ??) libpqdll.lib
    C:\Program Files\Microsoft Visual Studio 9.0\vc\bin>lib /def:libpqdll.def
    Note le .def est dans le package source je suppose (je l'ai pris sur un sation Unix)
    J'obtient libpqdll.lib
    Note: le fichier libpqdll.def contient les directives @... voir l'exemple du meme genre watcom

    C:\Program Files\Microsoft Visual Studio 9.0\vc\bin>lib /def:libpqdll.def

    C:\Program Files\Microsoft Visual Studio 9.0\vc\bin>
    cl /I c:\pgsql\include test.cc libpqdll.lib

    Compilateur d'optimisation Microsoft (R) 32 bits C/C++ version 15.00.21022.08 pour 80x86
    Copyright (C) Microsoft Corporation. Tous droits réservés.

    test.cc
    Microsoft (R) Incremental Linker Version 9.00.21022.08
    Copyright (C) Microsoft Corporation. All rights reserved.

    /out:test.exe
    test.obj
    libpqdll.lib
    C:\Program Files\Microsoft Visual Studio 9.0\vc\bin>
    je copie gssapi32.dll dans C:\Program Files\Microsoft Visual Studio 9.0\vc\bin>

    Je lance test
    C:\Program Files\Microsoft Visual Studio 9.0\vc\bin>test
    Connection to database failed: could not connect to server: Connection refused (
    0x0000274D/10061)
    Is the server running on host "???" and accepting
    TCP/IP connections on port 5432?

    c'est kif_kif l'autre ,mais avec Las Vegas dans le HD en plus...
    Bon courage

  20. #20
    Membre régulier
    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
    Points : 83
    Points
    83
    Par défaut
    Finalement, pour info, mon problème était lié à pkg-config. Si je copie les cflags et libs de gtkmm-2.4 générés par pkg-config directement dans mon Makefile.am, tout compile bien.

    Par contre j'ai un problème de dll, il n'arrive pas à trouver cygpq.dll, elle n'est pas présente sur le disque dur...
    J'ai tenté de renommer libpq.dll en cygpq.dll mais mon application ne fait rien du tout, aucun message d'erreur... ça ne doit pas être la même.

    Edit : Ça y est mon appli se lance ; il me manquait l'installation du paquet libpq5 au sein de cygwin.

    Je passe définitivement en résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bibliothèque PostgreSQL : pqxx sous windows
    Par Anium dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 12/06/2008, 22h17
  2. Assembleur sous Windows et sous Linux
    Par Bibouda dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 28/10/2002, 07h55
  3. Tester connexion Internet active sous Windows
    Par Altau dans le forum Développement
    Réponses: 3
    Dernier message: 12/08/2002, 12h43
  4. Pas de fork sous Windows?
    Par chezjm dans le forum POSIX
    Réponses: 8
    Dernier message: 11/06/2002, 12h15
  5. OmniORB : code sous Windows et Linux
    Par debug dans le forum CORBA
    Réponses: 2
    Dernier message: 30/04/2002, 17h45

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