Mon module cible est un fichier exécutable à être construit à partir X.cpp
et Y.cpp
, à la fois ces deux fichiers ont besoin d'un fichier .h
commun:Comment déclarer une variable dans un fichier d'en-tête à utiliser dans deux fichiers .cpp?
extern HANDLE hPipe;
extern IMediaSample *pSave = NULL;
Mais quand je construis le module, je suis une erreur en disant:
Y.obj : error LNK2005: "struct IMediaSample * pSave" ([email protected]@[email protected]@A) already defined in X.obj
Comment résoudre ce problème?
J'ai déjà essayé cette astuce, ne fonctionne pas .. – Alan
Les gardes d'inclusion vous protègent contre l'inclusion d'un en-tête multiple * dans le même fichier source *, pas dans des fichiers différents. –
Sauf si vous mettez le garde d'inclusion dans le fichier d'en-tête ... – TJMonk15