Вопрос

Вот небольшая проблема, которую я не могу решить, например, новичок в Linux.

Теперь у меня есть программа main.cpp, которую нужно скомпилировать, есть

#include "Down.h"

в начале файла.

На самом деле этот заголовочный файл существует в другом каталоге, который находится по адресу <Код> ../../../ включить каталог. Кроме того, некоторые другие заголовочные файлы, необходимые для Down.h, также находятся в этом каталоге ../../../include.

Вот проблема, я компилирую main.cpp командой

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

Тем не менее, он дает много информации об ошибках, что означает, что это не правильно делать так.

Должен ли я также изменить объявление включения в этом?

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

Можете ли вы оставить мне совет? Спасибо.

Изменить:

После использования g ++ -I ../../../include main.cpp я получаю следующие ошибки:

$ 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 
Это было полезно?

Решение

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

Видите эту косую черту после -I ? Это абсолютный путь.
Измените его на относительный путь (как показано ниже), и он будет работать нормально.

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

Другие советы

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

должен работать

Попробуйте использовать опцию -v:

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

И убедитесь, что в списке каталогов для поиска включаемых файлов есть ваша папка, и нет жалоб на то, что эта папка отсутствует. Если есть такие жалобы, исправьте путь, который вы указали после -I

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top