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 :

La compilation sous windows


Sujet :

Bibliothèques C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Par défaut La compilation sous windows
    Bonjour tout le monde,
    je post ici en espérant avoir des réponse clair et satisfaisant

    voila, je voudrais compiler quelque bibliothèque (DevIL entre autre) depuis les sources
    seulement de ce que j'ai pu comprendre a la compilation
    on peu compile une lib
    soit depuis les projet Visual C++ destiner seulement a windows qu'on me donne dans l'archive
    soit depuis un shell linux et avec le makefile qu'on me fournis aussi dans l'archive

    pour la premier je passe tout suit vu que j'ai pas Visual C++
    et Que je veux pas l'utilise pour compiler les libs,
    (Pour info je développe avec l'IDE netbean)

    pour la deuxième je rencontre un des plus grand problème (celui qui ma persuader de rester sur windows)
    les dépendance,je vous informe tout de suit j'ai pas accès a une connexion internet
    donc pour les réponse du genre "sudo apt-get lib..." sont a éviter

    le shell linux que j'utilise si c'est un shell linux c'est Msys de MinGW
    en entrant dans l'archive je fais comme ce si
    $ ./configure
    $ make

    vu qu'il me manque les librairie dépendant (je parle de DevIL la)
    configure me le fait remarquer discrètement mais il continue

    make lui compile les fichier .c jusqu'a ce que il tombe sur un fichier manquant "png.h"
    et arrête la compilation

    donc tout ce si pour vous dire:
    Commente compiler une bibliothèque (DevIL) sous windows avec un shell linux sans connexion internet

    PS: Si sur un des points que j'ai dit si dessus il ya une erreur corriger moi SVP

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Je dirai que png.h plante car il manque la libpng.
    Donc celle ci vous devriez la compilé avec de compiler Devil afin d'avoir la bibliothqèe ( .a ) et les en têtes des fonctions.
    Mais j'ai peut être mal compris le problème.
    C'est bien au niveau de la compilation de Devil que ça plante ?

    ( Sinon, il se pouvait aussi pour compiler, en faisant à la methode windows, faire un projet avec Code::Blocks ( netbeans, je sais pas si ça marcherai? ) et réussir à convertir le makefile de windows, ou celui de linux ...
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre très actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par défaut
    Si tu n'as pas de connexion internet ça risque d'être chaudard pour installer les dépendances, telles que libpng (apparemment)

    Mais bon, tente déjà un help sur le configure:
    $ ./configure --help

    Histoire de lister ce qui est configurable. Tu as sûrement la possibilité de préciser où est installé libpng (si tu l'as..)

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Dans ton ./configure --help, il y a normalement moyen de désactiver le support des librairies que tu ne veux (ou peux) pas supporter. Tu peux aussi modifier le fichier d'include devil.h, et y ajouter cette directive :
    Normalement, cela désactive le PNG. Mais je n'ai pas les sources sous la main, donc va vérifier dans le fichier, dans une section qui ressemble à ceci (peut-être de très loin...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #ifndef DEVIL_NO_PNG
    #include "devil/png.h"
    #endif
    Aussi, le script configure ne devrait pas autoriser la compilation des parties du soft que tu ne peux pas compiler (c'est à ça qu'il sert).

    Tu peux aussi convertir les solutions VS, mais je ne sais pas comment on fait avec NetBeans...
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Par défaut
    Bon voila après avoir chercher un peu (dans le site officiel) j'ai trouver les en-tête et lis lib
    des dépendance (png, tif,...) ensuit je l'ai mis dans un dossier "depend/" dans le dossier de DevIL
    au final ca donne ca:
    devil-x.x.x/depend/include
    devil-x.x.x/depend/lib

    ensuit j'ai ouvert la console et j'ai taper ça
    $ ./configure CPPFLAGS=-Idepend/include LDFLAGS=-Ldepend/lib

    la tout se passe bien le script reconnaît les en-tête

    checking for png.h... yes
    checking for jasper/jasper.h... yes
    ...

    après quand je fais un make
    il compile quelque fichier ensuit une sérié d'erreur comme celle si

    ./../src-IL/src/il_wdp.c:424: error: `WMP_errSuccess' undeclared (first use in this function)

    Alors je me demande ce que j'ai pas fait ou mal fait, je me remet a vous

  6. #6
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Ici, c'est la dépendance pour le format WDP qui est en cause. SDK dispo ici : http://www.microsoft.com/downloads/d...displaylang=en

    Ou bien, dans il_internals.h, tu définis IL_NO_WDP (cette fois, c'est vérifié dans les sources).

    Si tu veux te simplifier la vie, prend le SDK de DevIL pour VS, puis tu convertis les .lib en .a avec reimp (disponible avec les outils supplémentaires de MinGW). Tu peux aussi prendre le paquet de dépendances pour VS, et le convertir de cette manière.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  7. #7
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Par défaut
    Merci a tous pour votre aide,
    grâce a vous j'ai mieux compris le principe de la compilation il suffit juste de:
    • Se procurer les dépendance requis par la lib
    • De les rendre accessible a la compilation
    • De compiler


    cependant j'ai un peu de mal avec la 2eme étape
    (rendre accessible a la compilation) ca marche pas toujours,
    de petites précision sue le sujet ne seront pas de refute

    néanmoins j'ai réussi a compiler:
    • Freetype
    • Corona
    • SDL
    • TinyXML
    • Zlib


    avec quelque erreur peut-être du a la 2eme étape

  8. #8
    Membre très actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par défaut
    Citation Envoyé par b4n92uid Voir le message
    cependant j'ai un peu de mal avec la 2eme étape
    (rendre accessible a la compilation) ca marche pas toujours,
    de petites précision sue le sujet ne seront pas de refute
    Sous linux (et sous msys, je suppose), les librairies sont généralement installées dans /usr/local ou /usr. Les fichiers importants de ces librairies sont alors dans les sous répertoires lib, include, bin etc.

    Quand on fait ./configure pour préparer l'installation d'une nouvelle librairies ou d'un programme, autotools (l'ensemble de tools qui gèrent configure/make) va créer des makefiles spécifiquement adaptés à ta configuration. Les dépendances nécessaires pour la compilation vont être cherchées souvent par défaut dans /usr ou /usr/local. Si pour une raison quelconque une des librairies est installée ailleurs, on a l'opportunité de précisier où aller la chercher en passant un argument spécial à ./configure. Là il n'y a pas de mystère, il faut faire un ./configure --help puis regarder ce qui nous est proposé. Genre
    ./configure --with-openssl=/home/me/dev/openssl

    Ne jamais hésiter à faire un ./configure --help avant de faire quoique ce soit. Il y a souvent des info importantes et/ou des options intéressantes à activer ou désactiver.

  9. #9
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Les bonnes bibliothèques utilisent un système de build portable : CMake, SCons ou Jam, que tu peux invoquer depuis la ligne de commande sur tous les systèmes d'exploitation.

  10. #10
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Tu peux aussi lancer, après la configuration, cette commande : elle installera la librairie dans les répertoires par défaut.

    Tu peux choisir l'endroit où la librairie sera installée dans les paramètres de configure :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./configure --prefix=/repertoire/d/installation/
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  11. #11
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    configure et make c'est pour systèmes posix...

Discussions similaires

  1. Réponses: 8
    Dernier message: 27/04/2009, 12h27
  2. [PRO*C] Compiler sous Windows
    Par Giuseppe24 dans le forum Interfaces de programmation
    Réponses: 28
    Dernier message: 15/10/2008, 15h18
  3. [Lazarus] Compiler sous Windows pour Linux
    Par JoseF dans le forum Lazarus
    Réponses: 3
    Dernier message: 13/06/2007, 21h43
  4. Compilation sous windows avec devc++
    Par dr_octopus74 dans le forum Dev-C++
    Réponses: 4
    Dernier message: 17/01/2007, 22h48
  5. Code compilable sous Windows et Unix
    Par xzed dans le forum C
    Réponses: 9
    Dernier message: 16/05/2006, 16h06

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