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

 C Discussion :

Compiler une source


Sujet :

C

  1. #1
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Par défaut Compiler une source
    Bonsoir,

    J'aimerais compiler une source pour disposer de l'exécutable Windows. La source en question : http://ovh.dl.sourceforge.net/source...gnq-1.0.tar.gz.

    J'ai téléchargé DevC++, j'ai essayé de compiler, et je pense avoir compris qu'il manque des fichiers -que j'ai rajouté-, mais j'obtiens des retours d'erreur. Je n'y connais hélas pas grand chose, j'aimerais simplement obtenir l'exécutable, si quelqu'un peut me donner la manœuvre à effectuer.

    Merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par défaut
    Bonjour,

    Ton programme a été développé dans un environnement linux, comme le montre les scripts d'installation, l'utilisation de configure etc, cependant il est indiqué qu'il fonctionne sous windows, donc tout espoir n'est pas perdu .

    Comme il est indiqué dans le README :
    On windows you will require the libpng13.dll
    which can be downloaded from several sites.
    Donc je suppose que tu as trouvé cette dll, qui doit etre placée dans le dossier à coté de ton exécutable, quand tu l'auras généré

    Ensuite, il semblerait que le programme principale utilise freegetopt, dont le code est dans un dossier à part. Tu dois donc compiler d'abord freegetopt. Ensuite tu peux compiler le programme principal.

    Pourrais-tu décrire exactement les manip que tu as fais, et copier les messages d'erreur rencontrés ? On verra ensuite comment les résoudre.

  3. #3
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Il y a des fichiers automake dans le projet que tu cherches à compiler, donc normalement, il suffit d'avoir automake/autoconf installé (cf. site GNU), et de taper "configure", puis "make" dans le répertoire du projet pour le compiler.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par défaut
    Oui, configure c'est bien... sous linux ! Or la je pense que jag281 veut compiler sous windows, puisqu'il a installé DevC++. Je ne dis pas que c'est impossible d'utiliser configure etc sous win, mais je crois que c'est loin d'etre évident à installer (je ne l'ai pas vu dans MinGW par exemple).

    A mon avis, il vaut mieux essayer de le compiler à la main, y'a pas tant de fichiers que ça.

  5. #5
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par Le Mérovingien Voir le message
    Oui, configure c'est bien... sous linux ! Or la je pense que jag281 veut compiler sous windows, puisqu'il a installé DevC++. Je ne dis pas que c'est impossible d'utiliser configure etc sous win, mais je crois que c'est loin d'etre évident à installer (je ne l'ai pas vu dans MinGW par exemple).
    GnuWin32 est ton ami, entre autres... Au pire, passer par Cygwin résoudra le problème de toutes façons.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par défaut
    Oui, j'ai vu GnuWin32 qui propose automake et autoconf, c'est peut etre la solution, je n'ai pas de windows sous la main pour tester. Quant à cygwin, c'est peut etre un peu lourd à installer, juste pour compiler un programme une fois...

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Alors MSYS, peut-être ? Je ne sais pas si ça supporte les AutoTools...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Par défaut
    Bonsoir tout le monde,

    D'abord merci de vous intéresser à ce sujet et de prendre le temps à me répondre.

    Mes manips sont :
    Fichier > Nouveau > Projet
    Console Application > Option "Projet C" > OK (enregistrement du projet)
    Projet > Ajouter au projet > je sélectionne tous les fichiers livrés dans le fichier compréssé (fichier .c et .h du dossier src)
    Exécuter > Compiler

    Les premiers messages d'erreur lors de la compilateur étaient "missing xxxxx.h". Je suis donc allé chercher sur le net les fichiers en questions et les ai placé dans le projet. Les messages "missing" ont disparus, donc a priori c'est bon. Mais il y'a plein d'autres messages, et là je cale.

    Oui je sais, je suis pas très bon
    Je joins les messages dans le txt. Merci !

    Edit : oui je suis sous Windows XP.
    Je suis entrain de tenter de télécharger automake, j'ai des retours 400 sur sourceforge. J'ai téléchargé "getgnuwin32", et via le script download.bat, j'ai téléchargé autoconf-2.63-bin.zip et automake-1.9.4-bin.zip, je ne sais que faire avec... y'a aucun exe
    Fichiers attachés Fichiers attachés

  9. #9
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Heu... T'es sûr que ce n'est pas du C++, ton truc ??
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  10. #10
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    Heu... T'es sûr que ce n'est pas du C++, ton truc ??
    Honnêtement j'en sais rien. J'ai quand même les erreurs en testant avec "nouveau projet c++".

  11. #11
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par défaut
    Bonsoir,

    Bon, après de multiples galère dont je vous passerai les détails, j'ai réussi à compiler ce programme, j'espère qu'il fonctionne. L'exécutable pour un windows 32 bits est en pièce jointe.

    Je sais que le forum est normalement fait pour aider les gens à apprendre, mais je crois que là c'est justifié d'avoir réaliser le travail, puisque jag281 veut seulement utiliser ce programme, et non pas apprendre la programmation.

    Si ça ne fonctionne pas, ou si tu veux les indications pour le compiler par toi meme, je reste bien sur à ta disposition.
    Fichiers attachés Fichiers attachés

  12. #12
    Membre régulier
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Par défaut
    Bonjour,

    Un grand merci à toi, Le Mérovingien.
    Merci d'avoir pris du temps pour ça. Le programme fonctionne bien, je l'ai "compressé" avec UPX et il fonctionne sans soucis !

    Si c'est possible, j'aimerais apprendre à compiler sans pour autant maîtriser le langage, à savoir pouvoir corriger des erreurs de syntaxe simples à détecter. Le but étant d'éviter de revenir "embêter" quelqu'un quand je dois compiler quelque chose.

    Si la tâche est trop ardue et nécessite de solides connaissances, on peut toujours essayer "d'aller à l'essentiel" si c'est faisable. Bref, oui, les indications pour compiler par moi même m'intéressent beaucoup.

    Merci encore !

  13. #13
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par jag281 Voir le message
    Bref, oui, les indications pour compiler par moi même m'intéressent beaucoup.
    En général, à part si tu as le même environnement de développement que l'auteur, ce n'est jamais "simple"...

    Si une DLL supplémentaire (cygwin.dll) sur ton système ne te fait pas peur, je te conseille d'installer la suite Cygwin, plus un Visual Studio Express : tu vas ainsi couvrir la plupart des projets disponibles sur le net.

    Petit détail : si tu comptes distribuer les binaires, par contre, ça pourra peut-être poser problème, par contre tu seras tranquille tant que c'est pour ton propre usage, sur la machine où tu compiles.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  14. #14
    Membre confirmé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2005
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2005
    Messages : 147
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    En général, à part si tu as le même environnement de développement que l'auteur, ce n'est jamais "simple"...
    Je suis entièrement d'accord. Et dans le cas de ce programme, c'était le cas .

    Cependant, voici les conseils que je pourrai te donner pour compiler un programme en général.

    - Télécharger les sources pour ton système si elles existent, et sinon bien reprérer avec quel système le programme a été créé (s'il y'a des fichiers sans extentions, ou des fichiers .sh par exemple, c'est probablement linux)
    - Bien lire les fichiers README, INSTALL, etc, qui te donneront, quand c'est bien fait, plein d'info sur les systèmes cibles, les dépendances etc...
    - Ensuite, tu peux utiliser sous windows les compilateurs suivant (principalement bien sur) :
    + msvc : le compilateur microsoft fourni avec visual studio. A utiliser si le code a été écrit pour ce compilateur (le C reste du C, mais il existe des macro, ou des fonctions, que certains compilateurs implantent, et d'autres pas)
    + MinGW : le compilateur gcc pour windows. MinGW est en fait la traduction d'outils GNU pour windows, il y'a principalement gcc, g++, make, et les librairies les plus fréquentes.
    + cygwin : un environnement linux sous windows : la plupart des outils linux fonctionnent, il est très complet et très puissant, mais les programmes que tu génèreras ne pourront pas fonctionner sans une dll cygwin. Tu ne pourras donc pas envoyer tes programmes à d'autres gens qui n'ont pas cygwin par exemple.

    Pour ce programme, qui a été développé sous linux, j'ai utilisé MinGW, pour pouvoir avoir gcc comme sous linux. J'ai lu le README, et tout ce que j'ai trouvé dans les fichiers. Ensuite je suis allé dans src, et j'ai compilé chaque fichier .c pour créer un objet (.o), avec gcc -Wall -c fichier.c. Le -Wall permet d'avoir tous les warnings (enfin suffisament), c'est important je trouve de le mettre car il révèle souvent des erreurs dans le code qui n'empèchent pas la compilation, mais qui feraient planter le programme à l'exécution. Bref, c'est pas ça le sujet .
    J'ai du corriger des fautes de syntaxes, assez peu. Le programme utilise la librairie png que j'avais installée auparavant, donc pas de soucis, par contre il faut aussi la librairie zlib, et elle n'est pas disponible dans MinGW (du moins je ne l'ai pas trouvée). J'ai donc pris celle proposée pour minGW dans cygwin (Cygwin propose aussi MinGW, et je pense que c'est un moyen de compiler des programmes natifs windows aussi), j'ai croisé les doigts, et c'est passé. J'ai eu aussi un soucis avec getopt, il est proposé dans MinGW donc pas besoin d'utiliser celui fourni avec le code. Ensuite il faut "linker" c'est à dire rassembler les fichiers objets, faire le lien avec les librairies systèmes, et créer l'exécutable. Pour cela : gcc -Wall -o prog.exe *.o, sauf que ça marche pas parce que il y'avait en fait deux programmes, le vrai et un de test, donc j'ai remplacé *.o par la liste des fichiers objets sans celui de test, et ça a marché

    Je t'ai expliqué ici la méthode "à la main" valable uniquement pour des tout petits programmes. Pour les plus gros, il existe des makefiles, qui gèrent la compilation. Tu n'as qu'à tapper "make" dans le dossier ou il y'a le makefile pour que ça fonctionne (normalement). Pour les programmes encore plus gros, il y'a une phase de configuration (c'est le cas pour ce programme là, c'est pour ça qu'on parlait d'autoconf, un programme de configuration de la compilation), mais la ça devient compliqué, surtout sous windows.

    Tout ça pour dire que compiler c'est pas toujours évidement (rarement même) quand on ne connait pas les bases de la programmation, mais c'est intéressant, on apprend plein de chose.

    Dernier point (évident) : google et developpez.com sont tes amis

    Si tu as eu le courage de me lire merci, et si tu as compris quelque chose fellicitation , parce que je me suis pas beaucoup relu.

    A bientôt

Discussions similaires

  1. Compilation d'une source
    Par philippe63000 dans le forum Débuter
    Réponses: 13
    Dernier message: 11/03/2013, 07h50
  2. Réponses: 2
    Dernier message: 05/01/2011, 12h51
  3. Comment compiler/proteger une source HTA
    Par vikingraver dans le forum VBScript
    Réponses: 1
    Dernier message: 03/07/2008, 11h14
  4. compiler une source C OpenGL sous free BSD
    Par even971 dans le forum Moteurs 3D
    Réponses: 1
    Dernier message: 08/06/2008, 19h03
  5. Réponses: 9
    Dernier message: 22/05/2006, 13h56

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