Opzione G ++ -I per il programma di compilazione
-
05-07-2019 - |
Domanda
Ecco un piccolo problema che non può essere risolto da me un novizio del programma Linux.
Ora ho un programma main.cpp che deve essere compilato, c'è un
#include "Down.h"
nella parte anteriore del file.
In realtà, questo file di intestazione esiste nell'altra directory, che trova in
../../../ includere
directory. Inoltre, alcuni altri file di intestazione necessari a Down.h si trovano anche in questa directory ../../../include.
Ecco il problema, compilo main.cpp con il comando
g++ -I /../../../include main.cpp
Tuttavia, fornisce molte informazioni di errore, il che significa che non è corretto fare in questo modo.
Devo anche cambiare la dichiarazione di inclusione in questa?
#include "../../../include/DownConvert.h"
Potresti lasciarmi per favore qualche consiglio? Grazie.
Modifica:
Dopo aver usato g ++ -I ../../../include main.cpp
, ottengo i seguenti errori:
$ 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
Soluzione
g++ -I /../../../include main.cpp
Vedi quella barra iniziale dopo -I
? È un percorso assoluto.
Modificalo in un percorso relativo (mostrato sotto) e funzionerà correttamente.
g++ -I ../../../include main.cpp
Altri suggerimenti
g ++ -I ../../../include main.cpp
dovrebbe funzionare
Prova a usare l'opzione -v:
g++ -v -I ../../../include main.cpp
E controlla che l'elenco delle directory per cercare i file include contenga la tua cartella e non c'è lamentela che questa cartella sia assente. Se c'è questo tipo di reclami, correggi il percorso che dai dopo -I