2009-11-26 12 views
4

Voici un petit problème qui ne peut pas être résolu par moi comme un débutant de programme Linux.G ++ -I option pour compiler le programme

Maintenant, j'ai un programme main.cpp qui doivent être compilées, il y a un à l'avant du fichier

#include "Down.h" 

.

En fait, ce fichier d'en-tête existe dans l'autre répertoire, qui se trouve au répertoire ../../../include . 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 commande

g++ -I /../../../include main.cpp 

Cependant, il donne beaucoup d'informations d'erreur qui signifie qu'il est pas correct d'être fait comme ça. Ou devrais-je également changer la déclaration d'inclusion dans celui-ci?

#include "../../../include/DownConvert.h" 

Alors, pouvez-vous me laisser quelques conseils? Merci. Après avoir utilisé g ++ -I ../../../ inclure main.cpp, j'obtiens les erreurs suivantes, peut-être que vous pouvez y jeter un coup d'oeil, merci.

$ 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 
+1

quelles erreurs obtenez-vous? – Glen

+0

vous avez utilisé "Down.h" et "DownConvert.h" dans votre exemple de code, ce qui est correct? – Glen

+0

après l'utilisation de g ++ -I ../../../ inclure main.cpp, Je reçois les erreurs suivantes, peut-être vous pouvez jeter un oeil à eux, merci. jl @ jl-linux: ~/videoocoding/jsvm2/JSVM/H264Extension/src/tools/PSNR $ g ++ -I ../../../include main.cpp Dans le fichier inclus de ../ .. /../include/DownConvert.h:98, à partir de main.cpp: 92: ../../../include/ResizeParameters.h:4:22: erreur: TypeDefs.h: aucun fichier de ce type ou répertoire Dans le fichier inclus de /usr/include/c++/4.4/bits/stl_algo.h:61, à partir de /usr/include/c++/4.4/algorithm:62, à partir de ../../../include/H2 – MaiTiano

Répondre

6
g++ -I /../../../include main.cpp 

Voir qui barre oblique après -I, c'est un chemin absolu. Changez-le à un chemin relatif (montré ci-dessous) cela va fonctionner ok

g++ -I ../../../include main.cpp 
0

g ++ -I ../../../include main.cpp

doit travailler

0

Essayez d'utiliser l'option -v:

g++ -v -I ../../../include main.cpp 

et contrôleront cette liste de répertoires pour rechercher des fichiers include contient votre dossier et il n'y a pas de plaintes que ce dossier soit absent. S'il y a ce genre de corriger le chemin se plaint que vous donnez après -I

Questions connexes