web-dev-qa-db-fra.com

comment inclure des fichiers d'en-tête dans un autre dossier src

J'ai un projet c ++ ayant deux dossiers src. Le fichier source du dossier 1 devra peut-être inclure le fichier d'en-tête dans le dossier src 2. Est-ce possible? ou comment écrire mes Makefiles? Merci

19
Richard

En fonction de la proximité entre les deux dossiers (par exemple, s'il s'agit du même projet), cela peut être aussi simple que:

#include "../otherfolder/header.h"

S'il s'agit de projets séparés, il est courant d'ajouter simplement le répertoire d'en-tête de l'autre projet au chemin de recherche d'en-tête de votre projet et d'inclure l'en-tête comme ceci:

#include <header.h>

(En pratique, les crochets/guillemets n'ont pas d'importance, mais cela permet de séparer les importations d'en-têtes externes et internes)

32
Mike Caron

Considérant que vous avez des dossiers src1 et src2 dans le même dossier. Vous avez 2 solutions pour cela:

1 - #include "../src2/header.h"

2 - Ajoutez votre projet à des répertoires d'inclusion supplémentaires src2 et utilisez #include normal

3
Mircea Ispas