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 :

probleme de structure et de création de librairie


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 13
    Points : 11
    Points
    11
    Par défaut probleme de structure et de création de librairie
    Bonjour je developpe sous GNU/Linux avec gcc.
    J'ai un problème avec des structures et une librairie.
    J'ai créé une librairie :ma_librairie.h
    Contenu de ma_libraire.h
    Contenu de ma_librairie.c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	#include "ma_lib.h"
    	typedef  struct s_point {
    		int x;
    		int y;
    	}point;
    Je compile avec gcc : gcc -c ma_librairie.c
    Il n' y a pas d'erreurs.
    Lorsque je veux utiliser ma librairie dans le programme test.c
    Contenu de prog.c:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    #include <stdio.h>
    #include <stdlib.h>
    #include "ma_lib.h"
    int main () {
    	  struct  point   p;
    	  p.x = 5;
    return 0;
    }
    Je compile avec : gcc test.c -o test.x ma_librairie.o
    Et il y a une erreur :
    storage size of `p' isn't known
    J'ai essayé de remplacer
    struct point p;
    par
    struct point * p;
    p = (point* ) malloc ( sizeof( struct point));

    mais j'ai aussi une erreur:
    `point' undeclared (first use in this function)
    (Each undeclared identifier is reported only once



    Merci de m'aider.

  2. #2
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 337
    Points : 130 282
    Points
    130 282
    Billets dans le blog
    1
    Par défaut
    C'est normal, tu tentes de créer une structure dont tu n'as fait que déclarer son nom dans le .h, et dont tu as caché la définition dans le .c. Il faut que la définition de la structure soit dans le .h.
    Responsable technique forum & site

    Si ce message (ou un autre) vous a aidé et/ou vous semble pertinent, votez pour lui avec

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 13
    Points : 11
    Points
    11
    Par défaut ca marche pas
    J'ai déclaré la strcut dans le .h en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    typedef  struct s_point {
    	int x;
    	int y;
    }point;
    mais ca ne change rien aux erreurs

  4. #4
    Responsable technique

    Avatar de Anomaly
    Homme Profil pro
    Directeur
    Inscrit en
    Juin 2003
    Messages
    10 337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Directeur
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 337
    Points : 130 282
    Points
    130 282
    Billets dans le blog
    1
    Par défaut
    Normal encore, j'avais pas fait attention mais tu définis un type point = struct s_point. Alors soit tu utilises point, soit struct s_point, mais pas struct point
    Responsable technique forum & site

    Si ce message (ou un autre) vous a aidé et/ou vous semble pertinent, votez pour lui avec

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

Discussions similaires

  1. Création Framework / librairie
    Par jc44 dans le forum Langage
    Réponses: 2
    Dernier message: 10/08/2006, 13h00
  2. [XSLT] Probleme de structure de fichier xsl
    Par ben23 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 17/07/2006, 10h46
  3. C++ - Probleme avec structure et template
    Par vdumont dans le forum Langage
    Réponses: 3
    Dernier message: 21/03/2006, 15h32
  4. Probleme taille structure / parsing tag mp3
    Par lucas_sophia dans le forum C
    Réponses: 6
    Dernier message: 19/03/2006, 16h56
  5. Réponses: 5
    Dernier message: 08/03/2006, 22h37

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