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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
#include "fonctions.h"
#include <stdio.h>
fichier fonctions.c

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"
fichier fonctions.h :

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"
La commande que j'utilise pour compiler :

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
Et voilà les erreurs que j'obtiens :

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’
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
main.c: In function ‘main’:
main.c:8:2: warning: implicit declaration of function ‘constructRTree’ [-Wimplicit-function-declaration]
La fonction 'constructRTree' est définie dans 'fonctions.c' que j'ai créé moi-même

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.