Bonjour, je suis en train de coder un projet dans lequel j'utilise la structure de R-arbre. J'ai téléchargé une bibliothèque mais je n'arrive pas à utiliser les fonctions et les structures de la bibliothèque dans mon code personel. J'ai créer un fichier 'main.c' et 'fonctions.c' pour coder mon propre programme que j'ai placés dans le même dossier que les fichiers de la bibliothèque.
Le compilateur n'arrive pas à lier les fichiers entre eux et je ne comprends pas pourquoi.
Voici les include des fichier qui posent problème :
fichier main.c :
fichier fonctions.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #include "fonctions.h" #include <stdio.h>
fichier fonctions.h :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #include <stdlib.h> #include <stdio.h> #include <string.h> #include "fonctions.h"
La commande que j'utilise pour compiler :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #include "mesh.h" #include "index.h" #include "card.h" #include "assert.h"
Et voilà les erreurs que j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 gcc fonctions.c Index.c main.c Split_q.c RECT.C -o exec
Le type Rect est défini dans un fichier 'index.h' de la bibliothèque que j'ai téléchargé. J'ai la même erreurs pour une autre structure de 'index.h'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 In file included from fonctions.c:4: fonctions.h:8:31: error: unknown type name Rect
La fonction 'constructRTree' est définie dans 'fonctions.c' que j'ai créé moi-même
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 main.c: In function main: main.c:8:2: warning: implicit declaration of function constructRTree [-Wimplicit-function-declaration]
J'ai essayé de changer l'ordre des include, d'en rajouter dans certains fichier ou d'en enlever et j'ai bien vérifié l'orthographe mais rien à a faire... Je ne comprends vraiment pas pourquoi, d'autant plus que les include d'autre fichier ne posent pas de problème.
C'est sûrement une erreur stupide mais je ne vois vraiment pas.
Merci d'avance pour votre aide.
Partager