Option G ++ -I pour le programme de compilation
-
05-07-2019 - |
Question
Voici un petit problème qui ne peut pas être résolu par moi comme un novice du programme Linux.
Maintenant, j'ai un programme main.cpp qui doit être compilé, il y a un
#include "Down.h"
au début du fichier.
En fait, ce fichier d’en-tête existe dans l’autre répertoire, qui se trouve à
../../../ include
annuaire. En outre, certains autres fichiers d’en-tête nécessaires à Down.h se trouvent également dans ce répertoire ../../../include.
Voici le problème, je compile main.cpp avec la commande
g++ -I /../../../include main.cpp
Cependant, cela donne beaucoup d'informations d'erreur, ce qui signifie qu'il n'est pas correct de le faire de la sorte.
Devrais-je également modifier la déclaration d'inclusion dans celle-ci?
#include "../../../include/DownConvert.h"
Pouvez-vous me laisser un conseil, s'il vous plaît? Merci.
Modifier:
Après avoir utilisé g ++ -I ../../../include main.cpp
, le message d'erreur suivant s'affiche:
$ g++ -I ../../../include main.cpp
In file included from ../../../include/DownConvert.h:98,
from main.cpp:92: ../../../include/ResizeParameters.h:4:22: error:
TypeDefs.h: No such file or directory
In file included from /usr/include/c++/4.4/bits/stl_algo.h:61,
from /usr/include/c++/4.4/algorithm:62,
from ../../../include/H2
La solution
g++ -I /../../../include main.cpp
Voir cette barre oblique après le -I
? C'est un chemin absolu.
Changez-le en un chemin relatif (illustré ci-dessous) et tout fonctionnera correctement.
g++ -I ../../../include main.cpp
Autres conseils
g ++ -I ../../../include main.cpp
devrait fonctionner
Essayez d'utiliser l'option -v:
g++ -v -I ../../../include main.cpp
Et vérifiez que la liste des répertoires dans lesquels rechercher les fichiers à inclure contient votre dossier et que rien ne dit que ce dossier est absent. S'il y a ce genre de plainte, corrigez le chemin que vous donnez après -I