Correction de #includes pour GCC (Code :: Blocks)

Je travaille avec du code qui a été écrit pour un autre compilateur / éditeur de liens, et qui inclut des fichiers comme celui-ci:

#include  

de n’importe où dans le projet.

Le projet contient un tel fichier sur ce chemin (à partir de la racine du projet), mais lorsque je construis, j’obtiens l’erreur file not found.

Comment puis-je résoudre tous ces problèmes, sans passer au travers et tout faire manuellement?

Je ne suis pas sûr de bien comprendre votre explication. Que voulez-vous dire par “de la racine du projet”? Enfin bon…

Lorsque vous utilisez la directive #include avec <>, vous indiquez au compilateur de rechercher le fichier dans les répertoires que vous incluez avec l’option -I.

Dans les blocs de code, allez à Projet-> Options de construction-> Répertoires de recherche-> Compilateur

Et ajoutez le chemin du dossier au dossier contenant “Engine”.

Vous pouvez trouver plus d’informations ici http://msdn.microsoft.com/en-us/library/36k2cdd4(v=vs.71).aspx

Edit: Avant d’essayer quoi que ce soit, essayez #include "path/somefile.h" au lieu de #include

Probablement vous devriez écrire

 #include "Engine/Graphics/Sprite.h" 

(notez les guillemets au lieu des crochets).

Dans #include directives utilisent des crochets pour indiquer que vous souhaitez inclure un fichier d’en-tête système / bibliothèque, qui sera recherché dans le répertoire système includes (par exemple, / usr / include), tandis que les guillemets doubles sont utilisés pour inclure les fichiers dans le fichier en cours. chemin.

Cela devrait fonctionner si les fichiers qui utilisent #include trouvent dans le répertoire contenant la hiérarchie Engine/... Si ce n’est pas le cas, vous devez également le spécifier au compilateur en tant que répertoire d’inclusion supplémentaire, avec la directive -I .

N’oubliez pas que la directive #include généralement utilisée pour inclure des fichiers de catalogues d’inclusion standard. Ces catalogues définis comme variable d’environnement ou en ligne de commande du compilateur. Et #include "filename" pour inclure le fichier d’en-tête du répertoire courant ou tout chemin relatif au répertoire actuel.

sans passer à travers et tout faire manuellement?

Vous pouvez utiliser la fonction de recherche et remplacement de votre éditeur préféré

Je vais copier le commentaire de Ben et dire que vous devriez append un chemin d’inclusion à l’emplacement de vos fichiers d’en-tête. Ceci est très courant dans un projet