В "рабочем каталоге" у меня много файлов *.cpp и *.h, которые #include
друг друга и файлы из подкаталогов.
Например:
#include "first.h"
#include "second.h"
#include "dir1/third.h"
#include "dir2/fourth.h"
В моем собственном каталоге (отличном от "рабочего" каталога) я хотел бы создать новый файл *.cpp и *.h, который включает один из файлов из "рабочего" каталога. Например:
#include "/root/workingdirectory/first.h"
Однако это не сработает. Поскольку "first.h" может включать "second.h" и "second.h" не находится в моем каталоге. Есть ли способ сообщить компилятору, что он должен искать включенные файлы не в текущем, а в рабочем каталоге: /root/workingdirectory/
?
Чтобы сделать его еще более сложным, dir1
и dir2
не находятся в моем рабочем каталоге. Они расположены в /root/workingdirectory2/
. Итак, мой второй вопрос заключается в том, можно ли решить эту проблему, сообщив компилятору, что подкаталоги расположены где-то еще?
Мне также нужно добавить, что я не использую среду для разработки и компиляции из командной строки (используя g++
).