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

Langage C++ Discussion :

Erreur de compilation fichier avec multiples headers


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 17
    Par défaut Erreur de compilation fichier avec multiples headers
    Bonjour à tous,

    Je suis débutant en C++ (connaissant un peu le C, je pensais m'en sortir avec ce souci mais il s'avère que je reste étrangement coincé...)
    J'ai récupéré la librairie de chiffrement homomorphe FHEW disponible ici: http://github.com/lducas/FHEW

    Tout marche bien, dans l'installation et les tests mais quand j'écris mon propre code, impossible de le compiler. J'ai donc (pour m'assurer que j'écrivais correctement) tout simplement essayé de recompiler le fichier fhewTest.cpp disponible dans le dossier, sans succès. Est-ce que quelqu'un aurait une idée de comment réaliser ma compilation avec g++? Peut-être que j'ai manqué une option lors de la compilation?

    En espérant que je comprenne mieux ces histoires de compilation...

    Je vous remercie,
    Robin

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Par défaut
    Citation Envoyé par Nashtare Voir le message
    [...] mais quand j'écris mon propre code, impossible de le compiler. J'ai donc (pour m'assurer que j'écrivais correctement) tout simplement essayé de recompiler le fichier fhewTest.cpp disponible dans le dossier, sans succès.[...]
    Si tu ne nous explique pas ce que tu fais, ça va être difficile de le deviner à ta place.

    Quand on créer un exécutable ou une librairie, on ne fait pas uniquement de la compilation. Tu peux diviser la création en trois étapes :
    1. Passage du pré-processeur sur le code
    2. La compilation des sources
    3. L'édition de liens


    Dans le projet que tu cites, tu verras qu'il y a un makefile dedans, ce dernier contient les instructions pour que ces étapes fonctionnent correctement. Après que ce soit make qui soit utilisé pour appeler g++ et ld ou autre chose, le principe reste tout le temps le même.

    Je te conseil d'aller lire cette page pour avoir les idées claires sur ce qui se passe : https://fr.wikibooks.org/wiki/Progra...2B/Compilation

    Ensuite, quand tu auras une erreur, tu pourras la lier à la phase concernée et du coup mieux comprendre d'où le problème vient.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 17
    Par défaut
    Bonjour,

    Désolé du temps de d'attente, mon ordi était parti en réparation...
    J'ai fait g++ (les fichiers.cpp utilisés) monfichier.cpp -o output en ligne de commande mais rien n'y fait... Il me semble pourtant que c'est la bonne commande étant donné ce que j'ai vu sur internet à ce sujet..
    J'obtiens ces erreurs de compilation:
    Nom : error.png
Affichages : 194
Taille : 127,6 Ko

    Je répète que je n'ai rien changé au fichier test, dont l'entête est:

    Nom : test1.png
Affichages : 205
Taille : 7,3 Ko

    et les appels de fonction dans le main sont comme ci-dessous:

    Nom : test2.png
Affichages : 184
Taille : 18,3 Ko

    Je croyais que le Makefile était seulement pour "générer" la bibliothèque (mes excuses si j'emploie de mauvais termes), dois-je l'utiliser encore après?

    Merci d'avance,

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Ce ne sont pas des erreurs de compilation mais de linker. L'éditeur de lien ne trouve pas les fonctions parce que tu oublies surement les options -l. Mais sans la ligne complète que tu utilises, seul un voudou pourrait l'assurer.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 17
    Par défaut
    Ma ligne complète ne diffère pas vraiment du prototype que j'ai écrit plus haut cela étant.. J'utilise ceci:

    "g++ LWE.cpp FHEW.cpp distrib.cpp test.cpp -o test"

    je n'ai vu nulle part dans les différents forums ou des personnes avaient un souci similaire au mien ce "-l", à quoi sert-il?

  6. #6
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Pour info : https://c.developpez.com/faq/?page=G...mbol-not-found

    Et sinon pourquoi mettre des images alors que tu peux copier / coller du texte et le placer dans les balises [CODE][/CODE] pour poster du code ou [pre][/pre] pour mettre ce que tu as dans ta console ? Tu obtiens ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int a = 42;
    void f() {
        // ...
    }
    $ man woman
    No manual entry for woman



    PS : https://github.com/lducas/FHEW/blob/master/README.md il y a moyen de faire une bibliothèque avec tout ça, grâce au makefile. Mais sinon je pense qu'il te manque FFT.cpp non ? Et sinon la section Requirements te dit de télécharger une bibliothèque, tu l'as fait ?

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

Discussions similaires

  1. erreur de compilation : probleme avec type de structure dans une classe
    Par medkarim dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 21/10/2008, 15h33
  2. erreur de recherche fichier avec getfile
    Par marbuly dans le forum Modélisation
    Réponses: 2
    Dernier message: 13/09/2007, 19h58
  3. Erreur de compilation C++ avec Makefile
    Par ChipsterJulien dans le forum C++
    Réponses: 2
    Dernier message: 27/08/2007, 18h27
  4. [Upload] upload fichiers avec multiple submit
    Par dolf13 dans le forum Langage
    Réponses: 17
    Dernier message: 06/06/2006, 01h20
  5. erreur de compilation - conflit avec Sleep
    Par timsah dans le forum C++Builder
    Réponses: 5
    Dernier message: 02/02/2006, 17h52

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