Dans mon projet actuel, j'ai séparé mes fichiers de classe et mes fichiers d'en-tête. Ma structure de projet ressemble actuellement à ceci:
Projet
Mon problème est que je ne sais pas comment inclure les fichiers d'en-tête dans les fichiers de classe. Suis-je incapable de créer un lien vers des en-têtes qui ne sont pas au même niveau ou dans un dossier enfant? Ou existe-t-il un moyen de partir de la racine du projet et de descendre? Par exemple:#include "Project/Headers/include/class1.h"
à l'intérieur du fichier class1.cpp
En supposant que vous voulez que class1.cpp inclue class1.h, vous feriez quelque chose comme ça
#include "../../Header/class1.h"
Le ..
indique au système d'exploitation de sauter 1 répertoire vers le haut lorsque le compilateur demande le fichier.
Vous devez indiquer le chemin d'inclusion <the directory containing Project>
à votre compilateur pour que le compilateur puisse trouver les en-têtes inclus. En utilisant gcc, vous pouvez utiliser -I
option, et en utilisant visual studio, vous pouvez utiliser /I
.
J'ai eu un problème très similaire où mon compilateur n'a pas pu trouver l'en-tête avec un projet code :: blocks C++ (même structure de fichier que OP).
Cela a fonctionné pour moi:
#include "../include/class1.h"