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

Bibliothèques C++ Discussion :

[Compilation] Impossible de compiler PeLib


Sujet :

Bibliothèques C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [Compilation] Impossible de compiler PeLib
    Bonjour,

    J'ai un gros problème pour compiler PeLib (une bibliothèque opensource) Je vais finir par perdre tous mes cheveux.

    Dans le fichier Readme il est écrit :
    [ Texte coupé...]
    4. The following compilers have been tested:
    MingW with g++ 3.2.3
    Visual C++ 7.1 / Compiler version 13.10.3052
    Borland C++ 5.6.4 (currently not supported)
    Digital Mars Compiler 8.38n (currently not supported)

    5. Go into the PeLib/source directory and compile [texte coupé]
    J'ai donc télécharger MingW, sous Windows XP SP3,
    je me suis mis dans le répertoire source de mon PeLib, et j'ai tapé :

    Et j'ai toujours une erreur me disant qu'il ne reconnait pas la commande ! J'ai réessayé avec ubuntu en important les bibliothèques g++, toujours la même chose.

    J'ai alors téléchargé sous Windows 7, Visual C++ Toolkit 2003, en tapant dans l'invite de commande du logiciel prévu : Et j'ai une erreur me disant que 'nmake n'est pas reconnu comme une commande interne ou externe, un programme exécutable ou un fichier de commande'.

    Si vous pouviez m'aider, ça fais 6 heures que je suis dessus, j'aurais bien entendu préférer pouvoir gérer ça mais là ça en devient très lassant ...

    Merci à vous, et heureux de faire partie de votre communauté,

    Cordialement

    Une source : PeLib : http://www.pelib.com/index.php

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Essaye donc avec mingw32-make
    J'ai trouvé ca dans cette discussion
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Bonjour leternel,

    Merci pour ta réponse, j'avais déjà essayé avec mingw32, et en tapant

    dans le repertoire PeLib/source (qui est dans c:\PeLib\source en ce qui me concerne) comme expliqué dans les intructions j'ai comme résultat :

    sh: cd: PeLibsourcemake: no such file or directory
    En image :


    Voici ci-dessous les détails du fichier makefile.g++ :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    COMPILER = g++
    CFLAGS = -shared -Wall -W -Os -c
     
    all: BoundImportDirectory.o ComHeaderDirectory.o ExportDirectory.o IatDirectory.o MzHeader.o \
         PeHeader.o PeLibAux.o RelocationsDirectory.o ResourceDirectory.o \
         InputBuffer.o OutputBuffer.o DebugDirectory.o PeFile.o
    	ar q ../lib/PeLib.a ../lib/*.o
     
    clean:
    	rm ../lib/*.o
    	rm ../lib/*.a
     
    BoundImportDirectory.o: BoundImportDirectory.cpp BoundImportDirectory.h
    	${COMPILER} ${CFLAGS} BoundImportDirectory.cpp -o ../lib/BoundImportDirectory.o
     
    ComHeaderDirectory.o: ComHeaderDirectory.cpp ComHeaderDirectory.h
    	${COMPILER} ${CFLAGS} ComHeaderDirectory.cpp -o ../lib/ComHeaderDirectory.o
     
    ExportDirectory.o: ExportDirectory.cpp ExportDirectory.h
    	${COMPILER} ${CFLAGS} ExportDirectory.cpp -o ../lib/ExportDirectory.o
     
    IatDirectory.o: IatDirectory.cpp IatDirectory.h
    	${COMPILER} ${CFLAGS} IatDirectory.cpp -o ../lib/IatDirectory.o
     
    ImportDirectory.o: ImportDirectory.cpp ImportDirectory.h
    	${COMPILER} ${CFLAGS} ImportDirectory.cpp -o ../lib/ImportDirectory.o
     
    MzHeader.o: MzHeader.cpp MzHeader.h
    	${COMPILER} ${CFLAGS} MzHeader.cpp -o ../lib/MzHeader.o
     
    PeFile.o: PeFile.cpp PeFile.h
    	${COMPILER} ${CFLAGS} PeFile.cpp -o ../lib/PeFile.o
     
    PeHeader.o: PeHeader.cpp PeHeader.h
    	${COMPILER} ${CFLAGS} PeHeader.cpp -o ../lib/PeHeader.o
     
    PeLibAux.o: PeLibAux.cpp PeLibAux.h
    	${COMPILER} ${CFLAGS} PeLibAux.cpp -o ../lib/PeLibAux.o
     
    RelocationsDirectory.o: RelocationsDirectory.cpp RelocationsDirectory.h
    	${COMPILER} ${CFLAGS} RelocationsDirectory.cpp -o ../lib/RelocationsDirectory.o
     
    DebugDirectory.o: DebugDirectory.cpp DebugDirectory.h
    	${COMPILER} ${CFLAGS} DebugDirectory.cpp -o ../lib/DebugDirectory.o
     
    ResourceDirectory.o: ResourceDirectory.cpp ResourceDirectory.h
    	${COMPILER} ${CFLAGS} ResourceDirectory.cpp -o ../lib/ResourceDirectory.o
     
    InputBuffer.o: buffer/InputBuffer.cpp buffer/InputBuffer.h
    	${COMPILER} ${CFLAGS} buffer/InputBuffer.cpp -o ../lib/InputBuffer.o
     
    OutputBuffer.o: buffer/OutputBuffer.cpp buffer/OutputBuffer.h
    	${COMPILER} ${CFLAGS} buffer/OutputBuffer.cpp -o ../lib/OutputBuffer.o
     
    TlsDirectory.o: TlsDirectory.cpp TlsDirectory.h
    	${COMPILER} ${CFLAGS} TlsDirectory.cpp -o ../lib/TlsDirectory.o

    Voici les autres fichiers présents dans C:\PeLib\source



    J'espère que ces informations pourront t'être suffisantes pour me guider ... Ça m'a l'air tellement ennuyant de bloquer sur ça ...

  4. #4
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    Si tu regardes bien, ton prompt est:
    $ cd c:\pelib\source\
    > make -f makefile.g++
    
    La deuxième ligne commence par le prompt secondaire (PS2, ici "> ") pour signaler que tu continue la ligne.
    En effet, les deux derniers caracteres de la premiere sont respectivement '\' et '\n', combinaison qui est utilisée pour continuer une commande sur la ligne suivante.
    J'imagine que la syntaxe pour les chemins devrait être linuxienne (en /, donc)

    En fait, il a échappé le '\''p' en 'p', le '\''s' en 's', et le '\''\n' en rien du tout, faisant que la commande effectivement traitée est "cd c:pelibsourcemake -f makefile.g++"
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Hé ben dis donc, après toutes ces recherches je n'ai rien de trouvé de tel, merci beaucoup.

    Ça ressemble enfin "un petit peu" à quelque chose maintenant, mais j'ai encore quelques erreurs que je pense plus simple à diffuser visuellement :

    à la fin de ce processus je n'ai aucuns nouveaux fichiers

    Que mettre à la place ... ?

    Le makefile à été posté plus en haut... Ce n'est vraiment pas mon fort (et ce n'est pas pour excuse pour ne pas étudié ...)
    Sur le readme, il était écrit de taper pour Mingw32 : 'make -f makefile.g++', comme réalisé plus en haut...

    En espérant pouvoir arriver au bout .... Encore merci ...


    PS : je n'ai aucunement touché au code

  6. #6
    Membre expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Points : 3 892
    Points
    3 892
    Par défaut
    Ce code semble relativement vieux au vu de la compatibilité qu'il annonce (g++ 3.2.3).

    L'erreur nous dis que ce qui est fait dans le code est déprécié. Donc il faudra corriger (ou au pire utiliser -fpermissive, mais c'est se voiler la face).

    Si PeLib a une communauté (un forum officiel, je sais pas), je te conseille de t'adresser à eux.

Discussions similaires

  1. [D2005]Compilation impossible avec version Personnal
    Par fab56 dans le forum Delphi .NET
    Réponses: 4
    Dernier message: 16/08/2005, 19h10
  2. [JOnAS][JOPE] impossible de compiler un bean
    Par Raylemon dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 05/04/2005, 16h48
  3. [servlet][debutant] compilation impossible
    Par omega dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 02/03/2004, 11h48
  4. [Débutant]Classe d'Authentification : compilation impossible
    Par acyclique dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 23/08/2003, 19h42
  5. Compilation impossible
    Par Michaël dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 20/08/2003, 14h16

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