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

Code::Blocks Discussion :

Inclure un fichier h


Sujet :

Code::Blocks

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Par défaut Inclure un fichier h
    Bonjour à tous
    J'ai trouvé un cours sur le C que je trouve très compréhensible.
    J'en suis assez bien les leçons jusque là mais j'ai un problème quand il s'agit d'inclure un fichier h
    Lors de la compilation, j'ai le message d'erreur suivant :

    Nom : Capture2.JPG
Affichages : 4675
Taille : 32,4 Ko

    Pourtant, dans la colonne de gauche, j'ai bien "CopierTableau.h"

    Nom : image2993.png
Affichages : 5345
Taille : 161,5 Ko

    Voici le code de "main.c"

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
     
    #include <stdio.h>
    #include <stdlib.h>
    #include "CopierTableau.h"
     
     
    int main(int argc, char *argv[])
    {
      int tableauOriginal[100];
      int tableauCopie[100];
      int Compteur=0;
      int Valeur=0;
     
            printf("Entrez des valeur differentes de 0 pour remplir un tableau\n");
            printf("Entrez un 0 pour terminer le remplissage du tabeau\n");
     
        do
        {
        scanf("%d",&Valeur);
        tableauOriginal[Compteur]=Valeur;
        Compteur++;
        }
        while (Valeur != 0);
        Compteur--;
     
        sommeTableau(tableauOriginal, Compteur);
        afficheOriginal( tableauOriginal, Compteur);
        copie(tableauOriginal, tableauCopie, Compteur);
        afficheCopie(tableauCopie, Compteur);
     
      return 0;
    }
     
        void sommeTableau(int *tableauOriginal, int Compteur)
    {
        int somme=0;
        int i=0;
        for(i=0;i<Compteur;i++)
        {
            somme+= tableauOriginal[i];
        }
        printf("Le total est %d \n ",somme);
    }
     
        void afficheOriginal(int *tableauOriginal, int Compteur)
    {
        int i=0;
        printf("Le tableau original contient les valeurs suivantes ");
     
        for(i=0;i<Compteur;i++)
        {
            printf("%d ",tableauOriginal[i]);
        }
            printf("\n");
     
    }
        void afficheCopie(int *tableauCopie, int Compteur)
    {
        int i=0;
           printf("La copie du tableau original contient les valeurs suivantes ");
     
        for(i=0;i<Compteur;i++)
        {
            printf("%d ",tableauCopie[i]);
        }
            printf("\n");
     
    }
       void copie(int *tableauOriginal, int *tableauCopie, int Compteur)
    {
        int i=0;
        for(i=0;i<Compteur;i++)
        {
           tableauCopie[i]=tableauOriginal[i];
        }
     
    }
    Et celui de "CopierTableau.h"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #include <stdio.h>
    #include <stdlib.h>
     
    void sommeTableau(int *tableauOriginal, int tailleTableau);
    void copie(int *tableauOriginal, int *tableauCopie, int tailleTableau);
    void afficheOriginal(int *tableauOriginal, int tailleTableau);
    void afficheCopie(int *tableauCopie, int tailleTableau);
    Si quelqu'un voit ce qui ne va pas, il m'aiderait beaucoup
    PS Je n'ai pas pu enlever l'image suivante
    Images attachées Images attachées  

  2. #2
    Membre émérite
    Avatar de Daïmanu
    Homme Profil pro
    Développeur touche à tout
    Inscrit en
    Janvier 2011
    Messages
    734
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur touche à tout

    Informations forums :
    Inscription : Janvier 2011
    Messages : 734
    Par défaut
    Bonjour.

    C'est simplement un soucis d'emplacement de fichier.

    Par rapport au main.c, CopierTableau.h est dans le dossier Debug, il faut donc inclure ce dossier dans la directive include #include "Debug/CopierTableau.h"

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Par défaut
    Cela ne fonctionne pas
    Au départ, le dossier Debug n'existe pas
    pour créer "CopierTableau.h", j'ai sélectionné le dossier "obj" puis clic droit et enfin "New file" et c'est là qu'est apparu le dossier "Debug"
    Je dois m'y prendre mal pour ajouter un dossier CopierTableau.h
    Si c'est le cas pouvez-vous m'expliquer comment faire s'il vous plaît

  4. #4
    Membre Expert
    Avatar de Pyramidev
    Homme Profil pro
    Tech Lead
    Inscrit en
    Avril 2016
    Messages
    1 512
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Tech Lead

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 512
    Par défaut
    Dans Code::Blocks, va dans : menu "Project" >> action "Build options...". Cela ouvre une fenêtre.
    Dans l'onglet "Search directories", dans le sous-onglet "Compiler", tu as la liste des dossiers d'inclusion de la config courante (Debug, Release ou les deux). Tu peux ajouter un dossier d'inclusion avec le bouton "Add".
    Par exemple, chez moi, dans un projet bidon HelloGoodbye en C++ (mais c'est exactement la même logique en C), j'ai ça :
    Nom : chez_moi.jpg
Affichages : 4628
Taille : 52,1 Ko
    "include", c'est le nom d'un dossier qui est dans le même dossier que "HelloGoodbye.cbp". Il contient mes fichiers ".h".
    "$(#boost.include)", c'est une variable que j'ai définie pour le Code::Blocks de mon ordi pour tous mes projets à la fois et qui désigne le dossier d'inclusion de la bibliothèque Boost. Si quelqu'un veut utiliser mon projet sur son ordi, il doit créer une variable "$(#boost.include)" et lui affecter le chemin du dossier d'inclusion de Boost de son ordi à lui.
    Du coup, quand je fais #include "morceauDeChemin", le compilateur va chercher parmi les chemins "./morceauDeChemin", "./include/morceauDeChemin" et "$(#boost.include)/morceauDeChemin".

    Cela étant dit, tu as mal choisi ton endroit pour créer tes fichiers.
    Un dossier "obj", par convention, c'est là que le compilateur range des fichiers objets en Debug qui sont des fichiers intermédiaires pour produire l'exécutable.
    Donc, le dossier, "obj", c'est le genre de dossier qu'on supprime pour faire de la place. Ce n'est pas le bon endroit pour y mettre ton fichier de projet et ton code source !

    Si je prend pour exemple mon projet bidon HelloGoodbye, l'arborescence est organisée ainsi :
    • bin : exécutables générés par le compilateur
      • Debug : exécutable "HelloGoodbye.exe" en Debug
      • Release : exécutable "HelloGoodbye.exe" en Relase
    • build : fichiers intermédiaires générés par le compilateur
      • Debug : fichiers intermédiaires générés par le compilateur en Debug
      • Release : fichiers intermédiaires générés par le compilateur en Release
    • include : fichiers ".h"
    • src : fichiers ".cpp" (en langage C, se seraient des fichiers ".c")
    • HelloGoodbye.cbp


    Il y a plusieurs autres bonnes manières de bien ranger ses fichiers. Mais, l'important, c'est de bien les ranger.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    355
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 355
    Par défaut
    Merci

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

Discussions similaires

  1. Inclure des Fichiers .XML et .PPT dans un version PhpBB 1.9
    Par DaddyP dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 20/01/2006, 09h54
  2. [Configuration] Inclure un fichier .c dans une page PHP
    Par Korma dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 18/01/2006, 12h49
  3. [C#] inclure un fichier css
    Par elendila dans le forum ASP.NET
    Réponses: 2
    Dernier message: 12/08/2005, 15h21
  4. Inclure un fichier html
    Par krfa1 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 08/02/2005, 14h40
  5. [HTML] inclure un fichier...
    Par mohican13 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 17/01/2005, 17h23

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