У меня есть проект (библиотека), который подразделяется на несколько каталогов с кодом в них. Я хотел бы, чтобы g++ искал файлы заголовков в корневом каталоге проекта, поэтому я могу избежать различных путей включения для одинаковых файлов заголовков в нескольких исходных файлах.
В основном, каталог root/
имеет подкаталоги A/
, B/
и C/
, все из которых имеют .hpp
и .cpp
файлы внутри. Если некоторый исходный файл в хотел включить file.hpp
, который был в B, он должен был бы сделать это следующим образом: #include "../B/file.hpp"
. То же самое для другого исходного файла, который был на C. Но если у самого A были подкаталоги с файлами, которые нуждались в file.hpp
, тогда это было бы непоследовательно и вызывало бы ошибки, если бы я решил переместить файлы (потому что путь включения был бы "../../B/file.hpp"
).
Кроме того, это нужно будет работать и из других проектов, которые находятся за пределами root/
. Я уже знаю, что есть возможность вручную скопировать все мои файлы заголовков в каталог по умолчанию, но я хотел бы сделать это так, как я описал.
Изменить: все программы, использующие библиотеку, должны компилироваться только с g++ prog.cpp lib.a -o prog
. Это означает, что вы постоянно устанавливаете путь include для g++!